Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you include/exclude a certain type of files under Subversion?

I'm getting confused with the include/exclude jargon, and my actual SVN client doesn't seem to have (or I've been unable to find it easily) a simple option to add or remove a certain type of files for version control.

Let's say for example I've added the entire Visual Studio folder, with its solutions, projects, debug files, etc., but I only want to version the actual source files. What would be the simplest way to do that?

like image 252
Nano Taboada Avatar asked Sep 23 '08 17:09

Nano Taboada


People also ask

How do I ignore bin and obj folder in svn?

You could add bin folder to ignore list. Right click on the bin folder -> TortoiseSVN -> Unversion and add to ignore list -> bin.


2 Answers

You're probably safest excluding particular filetypes, rather than picking those you want to include, as you could then add a new type and not realize it wasn't versioned.

On a per-directory basis, you can edit the svn:ignore property.

Run

svn propedit svn:ignore . 

for each relevant directory to bring up an editor with a list of patterns to ignore.

Then put a pattern on each line corresponding to the filetype you'd like to ignore:

*.user *.exe *.dll 

and what have you.

Alternatively, as has been suggested, you can add those patterns to the global-ignores property in your ~/.subversion/config file (or "%APPDATA%\Subversion\config" on Windows - see Configuration Area Layout in the red bean book for more information). In that case, separate the patterns with spaces. Here's mine. # at the beginning of the line introduces a comment. I've ignored Ankh .Load files and all *.resharper.user files:

### Set global-ignores to a set of whitespace-delimited globs ### which Subversion will ignore in its 'status' output, and ### while importing or adding files and directories. # global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store global-ignores = Ankh.Load *.resharper.user 
like image 108
Blair Conrad Avatar answered Nov 06 '22 23:11

Blair Conrad


This can be achieved using the svn:ignore property, or the global-ignores property in your ~/.subversion/config file. (Scroll to the top of that first link to see instructions on editing properties.)

By using svn propset or svn propedit on a directory, you will be able to make Subversion ignore all files matching that pattern within the specific directory. If you change global-ignores in ~/.subversion/config's [miscellany] section, however, Subversion will ignore such files no matter where they are located.

like image 37
Max Cantor Avatar answered Nov 07 '22 01:11

Max Cantor