Things NOT to check into SVN


SVN is for versioning. Which means it keeps *every* file you check in *forever*. Even if you update a file, the old version is retained. This allows you to rollback to the old version or do a diff against it.

So *do not* check in things (other than source code and in-progress publications) that change often, can be auto-generated, are large, or number in the hundreds.

For code, DO NOT check in:

  • IDE specific files: .idea, .project, .classpath, .settings, etc.
  • Anything that is auto generated while compiling: .class, .jar, target/, etc.
  • Any external jars should be auto-downloaded using maven, etc.

For pubs, DO NOT check in:

  • Anything that is auto generated while compiling: .aux, .log, .bbl, .out
  • Standard .cls files (e.g. IEEE, ACM, LNCS, which are available under /pubs/templates in SVN)
  • External latex packages that can be downloaded from CTAN

In general, DO NOT check in:

  • Large files/datasets > ~10MB in size (zip it up to <~10MB, put it on /scratch on rigel and link to it, or put a link to a public URL)
  • Large number of files (100’s) – zip them up and check in a single file, or download them from external URLs
  • Files that are changed often by automated code like IDEs, compilers, etc. (i.e. not you directly)
  • Files with special characters other than underscore ‘_’, dash ‘-‘ and dot ‘.’ since they do not work across OSes, and breaks SVN. Particularly, DO NOT use space, *, \, /, |, :, >, <, “, ‘, ?.
  • File names that are case sensitive, e.g. two files with same name but different character cases.