How do I configure the TortoiseSVN 'Global ignore pattern' properly?

(Adding to an old question..)
It depends mainly on your language. So there are some versions here already for VB6 and others.

This is for Visual Studio & C#:

global-ignores = *.suo *.user *.userosscache *.sln.docstates *.userprefs debug release Debug Release bin x64 x86 obj Obj *_i.c *_p.c *_i.h *.ilk *.meta *.obj *.pch *.pdb *.pgc *.pgd *.rsp *.sbr *.tlb *.tli *.tlh *.tmp *.tmp_proj *.log *.psess *.vsp *.vspx *.sap Thumbs.db _UpgradeReport_Files *.dbmdl

and goes into your

%APPDATA%/Subversion/config

file. If you have a fresh config file, like me, you will only find global-ignore entries that are commented out, so you can append the line.

It is take mainly from the gitignore at https://github.com/github/gitignore/blob/master/VisualStudio.gitignore .

General case for any language
Basically, googling (or binging, if you so desire) for "gitignore (language or tool)" you will find sample gitignore files, the syntax is similar to the global-ignore of SVN, you just need to do some editing (all entries in one line for SVN, each entry in new line for GIT).

A good text editor like Sublime or Notepad++ helps a lot when converting.


If you're using Windows don't you need to use an ignore pattern like this:

*/bin */obj

for directories? And maybe even:

*/bin/* */obj/*

I must admit I only realised this after I had committed the wrong things, so I haven't tried this out 'live'. Notice the use of the forward slashes in the directory pattern.

(See this link for the source: http://svn.haxx.se/tsvnusers/archive-2007-03/0281.shtml )


This is one I use for .NET. Note that I use VB6 as well as other packages so there are extra entries. Also it is case sensitive.

*.chm *.dat *.dll *.ini *.err *.exe *.DLL *.INI *.ERR *.EXE *.backup *.zip *.ZIP *.vbw *.scc *.vbg *.log *.exp *.lib .vrs.SCC *.PRF *.prf *.NIP *.NOP *.nip *.nop *.out *.bjob *.job *.prt *.tmp *.txt *.EX_ *.ex_ *.MDP *.bak *.BAK *.CFG *.cfg *.TXT *.vrs *.VRS *.scc *.SCC *.vsc *.VSC *.mdb *.MDB *.cur *.oca *.setup *.png *.suo *.user Debug Release bin *.pdb *.trx TestResults *.WS~ *.ocx

These three proved critical in greatly reducing the number of files wildcards I had to track down.

Debug Release bin


Currently I have the following in my Global Ignore Pattern:

bin obj CVS .cvsignore *.user *.suo Debug Release *.pdb test.* Thumbs.db

Works really well to ignore several hidden or temp files/folders....

So for your specific requirements:

  • Folders: bin obj release compile
  • Files: *.bak *.user *.suo

I would use:

bin obj release compile *.bak *.user *.suo