pf » Ignore Files and Directories in Subversion

Ignore Files and Directories in Subversion

misc

If you work with version control systems like subversion (svn) I'm sure you can relate to the problem of having test files show up when you try to commit changes. It is actually pretty simple to tell subversion ignore directories or specific files.

You can do this by editing the svn property called svn:ignore as follows:

svn propedit svn:ignore ./some_path

When you run that command svn will open your text editor, and this is where you can define patterns or specific files to ignore. If you place a * in the property file, it will ignore all files in the directory you specified ./some_path

*

The svn:ignore property as far as I know only supports the * as a wildcard. It doesn't support regular expressions, or anything fancy like that.

Having the wildcard is quite handy though, because you can do things like this:

*.class
test_*

Which will ignore all your files that end in .class or any file that starts with test_.

In web application development I find it handy to ignore the contents of the directory where I store uploaded images, or files.

What do you ignore?



Related Entries
This entry was:

Trackback Address: 662/14C254675AEE287A52BE1D38A8624D46
On 12/14/2007 at 12:43:12 PM MST Rey Bango wrote:
1
Pete, I know that there are some easy install versions of Subversion out there. Can you point me in the right direction?

On 12/14/2007 at 2:04:43 PM MST Pete Freitag wrote:
2
Yeah Collab has one for windows that is easy to setup: http://downloads.open.collab.net/collabnet-subversion.html it bundles apache 2...

A good client for windows is: tortoisesvn.net

I haven't found a good client for mac, but I usually just use the command line client.

On 12/14/2007 at 2:12:41 PM MST Steve Goodman wrote:
3
Of course, you could simply not add test files to the repository in the first place, then your future commits won't reflect those files. But your technique is little bit handier for when you have to add big directory trees. This will be useful for filtering out the FTP syncing files that dreamweaver creates in each directory.

On 12/14/2007 at 2:21:41 PM MST Pete Freitag wrote:
4
Right, I should have been more clear, if you have added the test files you will need to remove them from the repo first.

This makes it so your svn client doesn't report the files with a question mark when you run svn status, and should prevent you from adding these your test files to the repository by accident.

It is also handy for the .project files Eclipse creates.

On 12/14/2007 at 5:28:20 PM MST Rob Wilkerson wrote:
5
I ignore:

.project .DS_Store _test (a directory I typically have in each project to use as kind of a quickie scratch pad) bin (another directory I often use to store files that will be uploaded to the system)

I also ignore build.xml and build.properties. I don't commit those because the "live" files typically contain server authentication credentials. Instead, I commit build.xml.sample and build.properties.sample without any authentication information. Sure, I have to double my work if I make any structural changes, but it a small price to pay to avoid publishing my sudo-level user information to other members of my team. :-)

Like you, I haven't found a good Mac client. I tried like hell to like SCPlugin, but just couldn't get it to do my bidding (kept getting authorization failures with no prompt to try again). I ended up sticking with Subclipse.

On 03/23/2008 at 7:32:16 AM MST Antti Mattila wrote:
6
Argh, I fell into copy/paste trap when trying to add stuff to svn:ignore ("svn propedit snv:ignore ./some_path"). So unless you ment it to be a trap, please fix :) (snv -> svn)

On 05/14/2008 at 6:52:51 AM MDT Pete Freitag wrote:
7
@Antti Thanks, I fixed that typo.




  



Spell Checker by Foundeo





Subscribe to my RSS Feed: solosub RSS
Tags