4. Store Only What Can’t be Built
One thing to watch out for with Subversion (or with any similar product) is not overcrowding the repository. In other words, add only files that can’t easily be regenerated.
If your build process generates intermediate files (such as Java CLASS files) or archive files (JAR, WAR, EAR, and so on), then it’s generally a bad idea to add these files to your repository. These generated files can be created as part of the build process, so they shouldn’t reside in the repository.
Aside from the general principle, another good reason for not adding generated files is the burden it places on backup facilities.
There is, however, sometimes a case for adding a complete release to the repository because it might be necessary to go back to a specific complete version at some point. But even for this purpose the repository probably isn’t the best place.
So before you create your repository, it’s usually a good idea to clean out your source code tree; for example, by running a script such as ant clean.