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 the global-ignores
setting. See Ignoring Unversioned Items in the SVN book.
I would say you have two viable options:
*.a
in the global-ignores
setting, but rather only set it in the svn:ignore
property on directories where such files tend to appear, such as /target
.*.a
in the global-ignores
setting, and manually call svn 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.