To find out what the different settings are for, just leave your mouse pointer a second on the editbox/checkbox... and a helpful tooltip will popup.
This dialog allows you to specify your preferred language, and the Subversion-specific settings.
Selects your user interface language. What else did you expect?
If checked, TortoiseSVN will contact its download site once a week to see if there is a newer version of the program available. Use if you want an answer right away. The new version will not be downloaded; you simply receive an information dialog telling you that the new version is available.
TortoiseSVN has three custom sounds which are installed by default.
Error
Notice
Warning
You can select different sounds (or turn these sounds off completely) using the Windows Control Panel. is a shortcut to the Control Panel.
Global ignore patterns are used to prevent unversioned files from
showing up e.g. in the commit dialog. Files matching the
patterns are also ignored by an import.
Ignore files or directories by typing in the names or extensions.
Patterns are separated by spaces e.g.
*/bin */obj *.bak *.~?? *.jar *.[Tt]mp.
The first two entries refer to directories, the
other four to files.
These patterns use filename globbing. Read
the section called “Filename Globbing in Ignore Lists” for more information.
Note that the ignore patterns you specify here will also affect other Subversion clients running on your PC, including the command line client.
If you use the Subversion configuration file to set
a global-ignores pattern, it will
override the settings you make here. The Subversion
configuration file is accessed using the
as described below.
This ignore pattern will affect all your projects.
It is not versioned, so it will not affect other users.
By contrast you can also use the versioned
svn:ignore property to exclude
files or directories from version control. Read
the section called “Ignoring Files And Directories”
for more information.
This option tells TortoiseSVN to set the filedates to the last commit time when doing a checkout or an update. Otherwise TortoiseSVN will use the current date. If you are developing software it is generally best to use the current date because build systems normally look at the datestamps to decide which files need compiling. If you use "last commit time" and revert to an older file revision, your project may not compile as you expect it to.
Use to edit the
Subversion configuration file directly.
Some settings cannot be modified directly by
TortoiseSVN, and need to be set here instead.
For more information about the Subversion
config file see the
Subversion Manual
.
The section on
Automatic Property Setting
is of particular interest, and that is configured here.
Note that Subversion can read configuration information
from several places, and you need to know which one
takes priority. Refer to
Configuration and the Windows Registry
to find out more.
VS.NET when used with web projects can't handle the .svn
folders that Subversion uses to store its internal information.
This is not a bug in Subversion. The bug is in VS.NET and the frontpage
extensions it uses. Read the section called “Subversion Working Folders”
to find out more about this issue.
If you want to change the behaviour of Subversion and TortoiseSVN, you can use this checkbox to set the environment variable which controls this.
You should note that changing this option will not automatically convert existing working copies to use the new admin directory. You will have to do that yourself using a script (See our FAQ) or simply check out a fresh working copy.
This page allows you to specify which of the TortoiseSVN context menu entries will show up in the main context menu, and which will appear in the TortoiseSVN submenu. By default most items are checked and appear in the submenu.
If you have a very large number of files in your working copy
folders, it can take a long time before the context menu appears
when you right click on a folder. This is because
Subversion fetches the status for all files when you ask for
folder status. To avoid this delay you can uncheck the
Fetch status for context menu
box. Be warned that the context menu for folders will not always
be correct, and may include items which should not really be there.
For example, you will see
→
for an Added folder, which will not work because
the folder is not yet in the repository.
The option Enable accelerators on the top level menu has three states:
In this state the menu items are all drawn by TortoiseSVN. No accelerator keys are shown.
This activates the accelerators for TortoiseSVN commands, but of course these may conflict with the accelerators for anything else in the explorer context menu. Pressing the shortcut key multiple times will cycle through the matching context menu items. In this state, the menu items are drawn by Windows which makes the icons look ugly.
In this mode the accelerator keys are active and the menu items are drawn in text only mode without icons.
This page allows you to choose the items for which TortoiseSVN will display icon overlays. Network drives can be very slow, so by default icons are not shown for working copies located on network shares. You can even disable all icon overlays, but where's the fun in that?
USB Flash drives appear to be a special case in that the drive type is identified by the device itself. Some appear as fixed drives, and some as removable drives.
By default, overlay icons will appear in all open/save dialogs as well as in Windows Explorer. If you want them to appear only in Windows Explorer, check the Show overlays only in explorer box.
Since it takes quite a while to fetch the status of a working copy, TortoiseSVN uses a cache to store the status in so the explorer doesn't get hogged too much when showing the overlays. You can choose which type of cache TortoiseSVN should use according to your system and working copy size here:
Caches all status information in a separate process
(TSVNCache.exe). That process
watches all drives for changes and fetches the status
again if files inside a working copy get modified.
The process runs with the least possible priority so
other programs don't get hogged because of it. That
also means that the status information is not
realtime but it can take a few
seconds for the overlays to change.
Advantage: the overlays show the status recursively, i.e. if a file deep inside a working copy is modified, all folders up to the working copy root will also show the modified overlay. And since the process can send notifications to the shell, the overlays on the left treeview usually change too.
Disadvantage: the process runs constantly, even if you're not working on your projects. It also uses around 10-50 MB of RAM depending on number and size of your working copies.
Caching is done directly inside the shell extension dll, but only for the currently visible folder. Each time you navigate to another folder, the status information is fetched again.
Advantage: needs only very little memory (around 1 MB of RAM) and can show the status in realtime.
Disadvantage: Since only one folder is cached, the overlays don't show the status recursively. For big working copies, it can take more time to show a folder in explorer than with the default cache. Also the mime-type column is not available.
With this setting, the TortoiseSVN does not fetch the status at all in Explorer. Because of that, files don't get an overlay and folders only get a 'normal' overlay if they're versioned. No other overlays are shown, and no extra columns are available either.
Advantage: uses absolutely no additional memory and does not slow down the Explorer at all while browsing.
Disadvantage: Status information of files and folders is not shown in Explorer. To see if your working copies are modified, you have to use the "Check for modifications" dialog.
If you select the default option, you can also choose to mark folders as modified if they contain unversioned items. This could be useful for reminding you that you have created new files which are not yet versioned.
The Exclude Paths are used to tell TortoiseSVN those paths for which it should not show icon overlays and status columns. This is useful if you have some very big working copies containing only libraries which you won't change at all and therefore don't need the overlays. For example:
f:\development\SVN\Subversion will disable
the overlays only on that specific folder. You
still can see the overlays on all files and folder inside that folder.
f:\development\SVN\Subversion* will disable the
overlays on all files and folders whose path
starts with f:\development\SVN\Subversion. That
means you won't see overlays for any files and folders below that
path.
The same applies to the Include Paths. Except that for those paths the overlays are shown even if the overlays are disabled for that specific drive type, or by an exclude path specified above.
TSVNCache.exe also uses these paths to restrict its scanning. If you want it to look only in particular folders, disable all drive types and include only the folders you specifically want to be scanned.
You can change the overlay icon set to the one you like best. Note that if you change overlay set, you may have to restart your computer for the changes to take effect.
This dialog allows you to configure some of TortoiseSVN's dialogs the way you like them.
Limits the number of log messages that TortoiseSVN fetches when you first select → Useful for slow server connections. You can always use or to get more messages.
Selects the font face and size used to display the log message itself in the middle pane of the Revision Log dialog, and when composing log messages in the Commit dialog.
If the standard long messages use up too much space on your screen use the short format.
TortoiseSVN can automatically close all progress dialogs when the action is finished without error. This setting allows you to select the conditions for closing the dialogs. The default (recommended) setting is Close manually which allows you to review all messages and check what has happened. However, you may decide that you want to ignore some types of message and have the dialog close automatically if there are no critical changes.
Auto-close if no merges, adds or deletes means that the progress dialog will close if there were simple updates, but if changes from the repository were merged with yours, or if any files were added or deleted, the dialog will remain open. It will also stay open if there were any conflicts or errors during the operation.
Auto-close if no merges, adds or deletes for local operations means that the progress dialog will close as for Auto-close if no merges, adds or deletes but only for local operations like adding files or reverting changes. For remote operations the dialog will stay open.
Auto-close if no conflicts relaxes the criteria further and will close the dialog even if there were merges, adds or deletes. However, if there were any conflicts or errors, the dialog remains open.
Auto-close if no errors always closes the dialog even if there were conflicts. The only condition that keeps the dialog open is an error condition, which occurs when Subversion is unable to complete the task. For example, an update fails because the server is inaccessible, or a commit fails because the working copy is out-of-date.
In the merge dialog, the default behaviour is for the From: URL to be remembered between merges. However, some people like to perform merges from many different points in their hierarchy, and find it easier to start out with the URL of the current working copy. This can then be edited to refer to a parallel path on another branch.
If this box is checked (default state), then whenever the status of an unversioned folder is shown in the Add, Commit or Check for Modifications dialog, every child file and folder is also shown. If you uncheck this box, only the unversioned parent is shown. Unchecking reduces clutter in these dialogs. In that case if you select an unversioned folder for Add, it is added recursively.
The commit dialog includes a facility to parse the list of filenames being committed. When you type the first 3 letters of an item in the list, the autocompletion box pops up, and you can press Enter to complete the filename. Check the box to enable this feature.
The autocompletion parser can be quite slow if there are a lot of large files to check. This timeout stops the commit dialog being held up for too long. If you are missing important autocompletion information, you can extend the timeout.
If you don't wish to use the spellchecker for all commits, check this box. The spellchecker will still be enabled where the project properties require it.
TortoiseSVN stores the last 25 log messages you entered for each repository. You can customize the number stored here. If you have many different repositories, you may wish to reduce this to avoid filling your registry.
When a commit fails for some reason (working copy needs updating, pre-commit hook rejects commit, network error, etc), you can select this option to keep the commit dialog open ready to try again. However, you should be aware that this can lead to problems. If the failure means you need to update your working copy, and that update leads to conflicts you must resolve those first.
The Check for Modifications dialog checks the working copy by default, and only contacts the repository when you click . If you always want to check the repository, you can use this setting to make that action happen automatically.
The repository browser can use a more intelligent sorting algorithm which handles paths containing numbers better than a plain ascii sort. This is sometimes useful for getting version number tags in the correct order. This option controls the default sort type used.
This dialog allows you to configure the text colours used in TortoiseSVN's dialogs the way you like them.
A conflict has occurred during update, or may occur during merge. Update is obstructed by an existing unversioned file/folder of the same name as a versioned one.
This colour is also used for error messages in the progress dialogs.
Items added to the repository.
Items deleted from the repository, missing from the working copy, or deleted from the working copy and replaced with another file of the same name.
Changes from the repository successfully merged into the WC without creating any conflicts.
Add with history, or paths copied in the repository. Also used in the log dialog for entries which include copied items.
An item which has been deleted from the repository.
An item which has been added to the repository, by an add, copy or move operation.
An item which has been renamed within the repository.
The original item has been deleted and a new item with the same name replaces it.
Here you can configure your proxy server, if you need one to get through your company's firewall.
If you need to set up per-repository proxy settings, you will
need to use the Subversion servers file to
configure this. Use to get there
directly. Consult the
Subversion Manual
for details on how to use this file.
You can also specify which program TortoiseSVN should use to establish a secure connection to a svn+ssh repository. We recommend that you use TortoisePlink.exe. This is a version of the popular Plink program, and is included with TortoiseSVN, but it is compiled as a Windowless app, so you don't get a DOS box popping up every time you authenticate.
One side-effect of not having a window is that there is nowhere for any error messages to go, so if authentication fails you will simply get a message saying something like “Unable to write to standard output”. For this reason we recommend that you first set up using standard Plink. When everything is working, you can use TortoisePlink with exactly the same parameters.
Here you can define your own diff/merge programs that TortoiseSVN should use. The default setting is to use TortoiseMerge which is installed alongside TortoiseSVN.
Read the section called “External Diff/Merge Tools” for a list of some of the external diff/merge programs that people are using with TortoiseSVN.
An external diff program may be used for comparing different
revisions of files. The external program will need to
obtain the filenames from the command line, along with
any other command line options. TortoiseSVN uses
substitution parameters prefixed with %.
When it encounters one of these it will substitute the
appropriate value. The order of the parameters will depend
on the Diff program you use.
The original file without your changes
The window title for the base file
Your own file, with your changes
The window title for your file
The window titles are not pure filenames.
TortoiseSVN treats that as a name to display and creates
the names accordingly. So e.g. if you're doing a
diff from a file in revision 123 with a file
in your working copy, the names will be
filename : revision 123
and
filename : working copy
For example, with ExamDiff Pro:
C:\Path-To\ExamDiff.exe %base %mine
or with KDiff3:
C:\Path-To\kdiff3.exe %base %mine --L1 %bname --L2 %yname
or with WinMerge:
C:\Path-To\WinMerge.exe -e -ub -dl %bname -dr %yname %base %mine
or with Araxis:
C:\Path-To\compare.exe /max /wait /title1:%bname /title2:%yname
%base %mine
If you use the svn:keywords property to
expand keywords, and in particular the revision
of a file, then there may be a difference between files which
is purely due to the current value of the keyword. Also if you use
svn:eol-style = native the BAsE file will have
pure LF line endings whereas your file will
have CR-LF line endings. TSVN will normally hide
these differences automatically by first parsing the BASE file to
expand keywords and line endings before doing the diff operation.
However, this can take a long time with large files. If
Convert files when diffing against BASE
is unchecked then TSVN will skip pre-processing the files.
An external merge program used to resolve conflicted files. Parameter substitution is used in the same way as with the Diff Program.
the original file without your or the others changes
The window title for the base file
your own file, with your changes
The window title for your file
the file as it is in the repository
The window title for the file in the repository
the conflicted file, the result of the merge operation
The window title for the merged file
For example, with Perforce Merge:
C:\Path-To\P4Merge.exe %base %theirs %mine %merged
or with KDiff3:
C:\Path-To\kdiff3.exe %base %mine %theirs -o %merged
--L1 %bname --L2 %yname --L3 %tname
or with Araxis:
C:\Path-To\compare.exe /max /wait /3 /title1:%tname /title2:%bname
/title3:%yname %theirs %base %mine %merged /a2
In the advanced settings, you can define a different diff and merge program for every file extension. For instance you could associate Photoshop as the “Diff” Program for .jpg files :-)
You need to specify just the extension with no leading dot or wildcard.
Use BMP to describe Windows bitmap files,
not
*.BMP.
A viewer program for unified-diff files (patch files).
No parameters are required.
The Default option is to check for
a file association for .diff files,
and then for .txt files.
If you don't have a viewer for .diff
files, you will most likely get NotePad.
The original Windows NotePad program does not behave well on files which do not have standard CR-LF line-endings. Since most unified diff files have pure LF line-endings, they do not view well in NotePad. However, you can download a free NotePad replacement Notepad2 which not only displays the line-endings correctly, but also colour codes the added and removed lines.
For your convenience, TortoiseSVN saves many of the settings you use, and remembers where you have been lately. If you want to clear out that cache of data, you can do it here.
Whenever you checkout a working copy, merge changes or use the repository browser, TortoiseSVN keeps a record of recently used URLs and offers them in a combo box. Sometimes that list gets cluttered with outdated URLs so it is useful to flush it out periodically.
TortoiseSVN stores recent commit log messages that you enter. These are stored per repository, so if you access many repositories this list can grow quite large.
Many dialogs remember the size and screen position that you last used.
When you authenticate with a Subversion server, the username and password are cached locally so you don't have to keep entering them. You may want to clear this for security reasons, or because you want to access the repository under a different username ... does John know you are using his PC?
If you want to clear auth data for one particular server only, read the section called “Authentication” for instructions on how to find the cached data.
A few infrequently used settings are available only by editing the registry directly.
You can specify a different location for the Subversion
configuration file using registry location
HKCU\Software\TortoiseSVN\ConfigDir.
This will affect all TortoiseSVN operations.
To add a cache tray icon for the TSVNCache program,
create a DWORD key with a value of 1 at
HKCU\Software\TortoiseSVN\CacheTrayIcon.
This is really only useful for developers as it allows
you to terminate the program gracefully.
VS.NET when used with web projects can't handle the .svn
folders that Subversion uses to store its internal information.
This is not a bug in Subversion. The bug is in VS.NET and the frontpage
extensions it uses.
As of Version 1.3.0 of Subversion and TortoiseSVN, you can set
the environment variable SVN_ASP_DOT_NET_HACK.
If that variable is set, then Subversion will use _svn
folders instead of .svn folders. You must restart
your shell for that env variable to take effect. Normally that means
rebooting your PC. To make this easier, you can now do this from
the general settings page using a simple checkbox -
refer to the section called “General Settings”.
For more information, and other ways to avoid this problem in the first place, check out the article about this in our FAQ .