When setting up an instance of the excellent TortoiseSVN, I find myself repeating its settings, for example, 'default checkout folder' and 'global ignore pattern' (as well as many others such as the linked tools). This is a pain. Where is the latter stored?
I've found the former around the registry key [HKEY_CURRENT_USER\Software\TortoiseSVN]
, but 'global ignore pattern' is missing. A text search of the user tree doesn't find it either. Where is it?
From the Readme of Subversion, which seems to be installed with TortoiseSVN anyway:
File locations
==============
Typically, Subversion uses two config directories, one for site-wide
configuration,
Unix:
/etc/subversion/servers
/etc/subversion/config
/etc/subversion/hairstyles
Windows:
%ALLUSERSPROFILE%\Application Data\Subversion\servers
%ALLUSERSPROFILE%\Application Data\Subversion\config
%ALLUSERSPROFILE%\Application Data\Subversion\hairstyles
REGISTRY:HKLM\Software\Tigris.org\Subversion\Servers
REGISTRY:HKLM\Software\Tigris.org\Subversion\Config
REGISTRY:HKLM\Software\Tigris.org\Subversion\Hairstyles
and one for per-user configuration:
Unix:
~/.subversion/servers
~/.subversion/config
~/.subversion/hairstyles
Windows:
%APPDATA%\Subversion\servers
%APPDATA%\Subversion\config
%APPDATA%\Subversion\hairstyles
REGISTRY:HKCU\Software\Tigris.org\Subversion\Servers
REGISTRY:HKCU\Software\Tigris.org\Subversion\Config
REGISTRY:HKCU\Software\Tigris.org\Subversion\Hairstyles
Some of the settings are actually Subversion settings and not TortoiseSVN settings, so this may be the right place to look.
HKEY_LOCAL_MACHINE\SOFTWARE\TortoiseSVN
seems to contain paths to the TortoiseSVN tools.
HKEY_CURRENT_USER\Software\TortoiseSVN
has a lot more tools though.
Assuming by 'global ignore pattern' you mean the setting 'global-ignores', spying using Process Monitor while setting it from the user interface (right click in a Windows Explorer window/TortoiseSVN/Settings) reveals that it is stored in HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany
:
REGEDIT4
[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
"global-ignores"="*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store *.xy9"
"use-commit-times"="no"
This was tested with TortoiseSVN 1.6.12 (build 20536, 2010-11-24), Subversion 1.6.15.
If you open the TortoiseSVN's Settings dialogue, in section General, you'll find:
- global ignore pattern: and a corresponding edit line
- the label Subversion configuration file: and an [Edit] button behind it, which opens (as for version 1.9.5) the file
%APPDATA%\Subversion\config
in your preferred text editor.
I suggest using the GUI integrated into TortoiseSVN as the intended (and that's why most reliable) way.
Apache Subversion-based Windows 7 SVN clients (including TortoiseSVN) will look in the following places in the order shown for configuration settings:
- The system-wide Registry values - HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion key
- The system-wide INI files - I don't think this is used for Windows 7
- The per-user Registry values - HKEY_CURRENT_USER\Software\Tigris.org\Subversion key
- The per-user INI files - %home%\AppData\Roaming\Subversion\config (a.k.a. %APPDATA%\Subversion\config)
- Command-line options
If a value is in more than one place the last occurence will take precedence.