The default global ignore for Subversion does a good job of keeping build artifacts out of version control. What if I need to distribute a directory of compiled code for my stuff to build?
I don't want to pick up my output (in, say, /target
), and I want to continue ignoring all compiled code for most of my other projects, but just one directory (say, /input
) needs to always track files with a .a
extension.
Is there a property I can set on the /input
directory that will make svn add
pick up new .a
files in there, without altering the global-ignores property?
The
svn:ignore
setting is a per-directory property. It applies to a given directory, and adds to rather than overrides theglobal-ignores
setting. See Ignoring Unversioned Items in the SVN book.I would say you have two viable options:
*.a
in theglobal-ignores
setting, but rather only set it in thesvn:ignore
property on directories where such files tend to appear, such as/target
.*.a
in theglobal-ignores
setting, and manually callsvn add
on each of the.a
files you wish to track. Once they are tracked by SVN, the ignore setting will no longer apply to them.