When setting ignore properties in subversion, the directory’s own svn:ignore property should really only be used for directory-specific files. An example of this type of file is a machine-specific file for which a template is provided (see my post on template files). Another example is a ‘C’ or C++ file generated by the build, perhaps as part of a parser; in this case the generated file does not constitute source and therefore should not be source controlled. On the other hand, that filename should not be added as a global ignore as such a filename could exist elsewhere in the source tree as genuine source.
Filenames that should always be ignored, such as object files and build target directories should be specified globally, and not per directory.
On the subject of ignores the following documentation is helpful:
- <General Settings> — about the Global ignore pattern and/or the “Edit” button on the General Settings dialog
There’s also some useful material on the SVN users’ mailing list, e.g.:
- <svn add doesn’t honor svn:ignore or global ignore?> — about confusion concerning ignores and the add subcommand