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. Of course, you have to install the corresponding language pack first to get another UI language than the default English one.
TortoiseSVN will contact its download site periodically to see if there is a newer version of the program available. If there is it will show a notification link in the commit dialog. Useif 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.
You can select different sounds (or turn these sounds off completely) using the Windows Control Panel.is a shortcut to the Control Panel.
On Windows Vista and later systems this controls whether dialogs use the Aero styling.
On Windows 7 you can create a Library in which to group working copies which are scattered in various places on your system.
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.
These patterns should not include any path separators. Note also
that there is no way to differentiate between files and directories.
Read the section called “Pattern Matching in Ignore Lists” for more information
on the pattern-matching syntax.
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
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
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 file dates 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 date stamps 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.
config file see the
Runtime Configuration Area
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.
This option tells TortoiseSVN to always apply local
modifications to the
when updating the 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 unchecked and appear in the submenu.
There is a special case for Get Lock. You can of
course promote it to the top level using the list above, but as most
files don't need locking this just adds clutter. However, a file with
svn:needs-lock property needs this action every
time it is edited, so in that case it is very useful to have at the top
level. Checking the box here means that when a file is selected which has
svn:needs-lock property set,
Get Lock will always appear at the top level.
Most of the time, you won't need the TortoiseSVN context menu, apart
for folders that are under version control by Subversion. For non-
versioned folders, you only really need the context menu when you
want to do a checkout. If you check the option
for unversioned paths
, TortoiseSVN will not add its entries
to the context menu for unversioned folders. But the entries are
added for all items and paths in a versioned folder. And you can
get the entries back for unversioned folders by holding the
Shift key down while showing the context menu.
If there are some paths on your computer where you just don't want TortoiseSVN's context menu to appear at all, you can list them in the box at the bottom.
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.
If you frequently find yourself comparing revisions in the top pane of the log dialog, you can use this option to allow that action on double click. It is not enabled by default because fetching the diff is often a long process, and many people prefer to avoid the wait after an accidental double click, which is why this option is not enabled by default.
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 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.
Local operations like adding files or reverting changes do not need to contact the repository and complete quickly, so the progress dialog is often of little interest. Select this option if you want the progress dialog to close automatically after these operations, unless there are errors.
When you revert local modifications, your changes are discarded. TortoiseSVN gives you an extra safety net by sending the modified file to the recycle bin before bringing back the pristine copy. If you prefer to skip the recycle bin, uncheck this option.
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.
You can specify the default path for checkouts. If you keep all your checkouts in one place, it is useful to have the drive and folder pre-filled so you only have to add the new folder name to the end.
You can also specify the default URL for checkouts. If you often checkout sub-projects of some very large project, it can be useful to have the URL pre-filled so you only have to add the sub-project name to the end.
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.
In the Check for Modifications dialog you can opt to see ignored items. If this box is checked then whenever an ignored folder is found, all child items will be shown as well.
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 auto-completion box pops up, and you can press Enter to complete the filename. Check the box to enable this feature.
The auto-completion 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 auto-completion 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.
When you type in a log message in the commit dialog, TortoiseSVN stores it for possible re-use later. By default it will keep the last 25 log messages for each repository, but you can customize that number here. If you have many different repositories, you may wish to reduce this to avoid filling your registry.
Note that this setting applies only to messages that you type in on this computer. It has nothing to do with the log cache.
The normal behaviour in the commit dialog is for all modified (versioned) items to be selected for commit automatically. If you prefer to start with nothing selected and pick the items for commit manually, uncheck this box.
This reopens the commit dialog automatically at the same directory after a successful commit. The dialog is reopened only if there still are items left to commit.
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.
When you select one or more files and then use→ to take out a lock on those files, on some projects it is customary to write a lock message explaining why you have locked the files. If you do not use lock messages, you can uncheck this box to skip that dialog and lock the files immediately.
If you use the lock command on a folder, you are always presented with the lock dialog as that also gives you the option to select files for locking.
If your project is using the
property, you will see the lock dialog regardless of this setting
because the project requires lock messages.
If this box is checked (default state), then the repository browser fetches information about shown folders in the background. That way as soon as you browse into one of those folders, the information is already available.
Some servers however can't handle the multiple requests this causes or when not configured correctly treat so many requests as something bad and start blocking them. In this case you can disable the pre-fetching here.
If this box is checked (default state), then
the repository browser shows files and folders
that are included with the
property as normal files and folders, but with
an overlay icon to mark them as from an external
As with the pre-fetch feature explained above, this too can put too much stress on weak servers. In this case you can disable this feature here.
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.
When using filtering in the log dialog, search terms are highlighted in the results using this colour.
The revision graph attempts to show a clearer picture of your repository structure by distinguishing between trunk, branches and tags. As there is no such classification built into Subversion, this information is extracted from the path names. The default settings assume that you use the conventional English names as suggested in the Subversion documentation, but of course your usage may vary.
Specify the patterns used to recognise these paths in the
three boxes provided. The patterns will be matched case-insensitively,
but you must specify them in lower case. Wild cards
? will work
as usual, and you can use
; to separate
multiple patterns. Do not include any extra white space
as it will be included in the matching specification.
Please note that these patterns are also used to detect commits to a tag, not just for the revision graph.
Colors are used in the revision graph to indicate the node type, i.e. whether a node is added, deleted, renamed. In order to help pick out node classifications, you can allow the revision graph to blend colors to give an indication of both node type and classification. If the box is checked, blending is used. If the box is unchecked, color is used to indicate node type only. Use the color selection dialog to allocate the specific colors used.
This page allows you to configure the colors used. Note that the color specified here is the solid color. Most nodes are colored using a blend of the node type color, the background color and optionally the classification color.
Items which have been deleted and not copied anywhere else in the same revision.
Items newly added, or copied (add with history).
Items deleted from one location and added in another in the same revision.
Simple modifications without any add or delete.
May be used to show the revision used as the source of a copy, even when no change (to the item being graphed) took place in that revision.
Current HEAD revision in the repository.
If you opt to show an extra node for your modified working copy, attached to its last-commit revision on the graph, use this color.
If you opt to show whether the working copy is modified, use this color border on the WC node when modifications are found.
Nodes classified as tags may be blended with this color.
Nodes classified as trunk may be blended with this color.
If you use tag folding to save space, tags are marked on the copy source using a block in this color.
When you left click on a node to select it, the marker used to indicate selection is a block in this color.
These colors are used when the graph is split into sub-trees and the background is colored in alternating stripes to help pick out the separate trees.
This page allows you to choose the items for which TortoiseSVN will display icon overlays.
Since it takes quite a while to fetch the status of a working copy, TortoiseSVN uses a cache to store the status 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
real time 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 tree view 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 real time.
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.
By default, overlay icons and context menus 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 and context menu only in explorer box.
You can force the status cache to None for elevated
processes by checking the
Disable status cache for elevated processes box.
This is useful if you want to prevent another
process getting created with elevated privileges.
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. This option is only available when you use the default status cache option (see below).
If you have files in the
ignore-on-commit changelist, you can chose to
make those files not propagate their status to the parent folder. That way if
only files in that changelist are modified, the parent folder still shows
the unmodified overlay icon.
The next group allows you to select which classes of storage should show overlays. By default, only hard drives are selected. You can even disable all icon overlays, but where's the fun in that?
Network drives can be very slow, so by default icons are not shown for working copies located on network shares.
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.
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, or if you only want TortoiseSVN to look in specific folders.
Any path you specify here is assumed to apply recursively, so none of the
child folders will show overlays either. If you want to exclude
only the named folder, append
after the 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.
Users sometimes ask how these three settings interact. For any given path check the include and exclude lists, seeking upwards through the directory structure until a match is found. When the first match is found, obey that include or exclude rule. If there is a conflict, a single directory spec takes precedence over a recursive spec, then inclusion takes precedence over exclusion.
An example will help here:
Exclude: C: C:\develop\? C:\develop\tsvn\obj C:\develop\tsvn\bin Include: C:\develop
These settings disable icon overlays for the C: drive, except for
c:\develop. All projects below that directory will
show overlays, except the
c:\develop folder itself,
which is specifically ignored. The high-churn binary folders are also
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.
It is often convenient to use a
to access your working copies, e.g. using the command
subst T: C:\TortoiseSVN\trunk\doc
However this can cause the overlays not to update, as
TSVNCache will only receive one notification when
a file changes, and that is normally for the original path. This means
that your overlays on the
subst path may never
An easy way to work around this is to exclude the original path
from showing overlays, so that the overlays show up on the
subst path instead.
Sometimes you will exclude areas that contain working copies, which saves TSVNCache from scanning and monitoring for changes, but you still want a visual indication that a folder contains a working copy. The Show excluded root folders as 'normal' checkbox allows you to do this. With this option, working copy root folders in any excluded area (drive type not checked, or specifically excluded) will show up as normal and up-to-date, with a green check mark. This reminds you that you are looking at a working copy, even though the folder overlays may not be correct. Files do not get an overlay at all. Note that the context menus still work, even though the overlays are not shown.
As a special exception to this, drives
B: are never considered for the
Show excluded folders as 'normal' option.
This is because Windows is forced to look on the drive, which can
result in a delay of several seconds when starting Explorer, even
if your PC does have a floppy drive.
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.
Because the number of overlays available is severely restricted, you can choose to disable some handlers to ensure that the ones you want will be loaded. Because TortoiseSVN uses the common TortoiseOverlays component which is shared with other Tortoise clients (e.g. TortoiseCVS, TortoiseHg) this setting will affect those clients too.
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
Runtime Configuration Area
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.
You must specify the full path to the executable. For TortoisePlink.exe this is the standard TortoiseSVN bin directory. Use thebutton to help locate it. Note that if the path contains spaces, you must enclose it in quotes, e.g.
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.
TortoisePlink does not have any documentation of its own because it is just a minor variant of Plink. Find out about command line parameters from the PuTTY website .
To avoid being prompted for a password repeatedly, you might also consider using a password caching tool such as Pageant. This is also available for download from the PuTTY website.
Finally, setting up SSH on server and clients is a non-trivial process which is beyond the scope of this help file. However, you can find a guide in the TortoiseSVN FAQ listed under Subversion/TortoiseSVN SSH How-To .
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
The window title for the base file, without quotes
Your own file, with your changes
The window title for your file
The window title for your file, without quotes
The URL of the original file, if available
The URL of the original file, if available, without quotes
The URL of the second file, if available
The URL of the second file, if available, without quotes
The revision of the original file, if available
The revision of the original file, if available, without quotes
The revision of the second file, if available
The revision of the second file, if available, without quotes
The peg revision, if available
The peg revision, if available, without quotes
The name of the file. This is an empty string if two different files are diffed instead of two states of the same file.
The name of the file, without quotes
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
filename : working copy.
For example, with ExamDiff Pro:
C:\Path-To\ExamDiff.exe %base %mine --left_display_name:%bname --right_display_name:%yname
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
or with UltraCompare:
C:\Path-To\uc.exe %base %mine -title1 %bname -title2 %yname
or with DiffMerge:
C:\Path-To\DiffMerge.exe -nosplash -t1=%bname -t2=%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
LF line endings whereas your file will
CR-LF line endings. TortoiseSVN 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 TortoiseSVN will skip pre-processing the files.
You can also specify a different diff tool to use on Subversion properties. Since these tend to be short simple text strings, you may want to use a simpler more compact viewer.
If you have configured an alternate diff tool, you can access TortoiseMerge and the third party tool from the context menus. → uses the primary diff tool, and Shift+ → uses the secondary diff tool.
At the bottom of the dialog you can configure a viewer program for unified-diff files (patch files). No parameters are required. The Default setting is to use TortoiseUDiff which is installed alongside TortoiseSVN, and colour-codes the added and removed lines.
Since Unified Diff is just a text format, you can use your favourite text editor if you prefer.
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
The window title for the base file, without quotes
your own file, with your changes
The window title for your file
The window title for your file, without quotes
the file as it is in the repository
The window title for the file in the repository
The window title for the file in the repository, without quotes
the conflicted file, the result of the merge operation
The window title for the merged file
The window title for the merged file, without quotes
The name of the conflicted file
The name of the conflicted file, without quotes
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
or with WinMerge (2.8 or later):
or with DiffMerge:
C:\Path-To\DiffMerge.exe -caption=%mname -result=%merged -merge -nosplash -t1=%yname -t2=%bname -t3=%tname %mine %base %theirs
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 can also associate the
with a diff or merge program.
To associate using a file extension, you need to specify the extension.
.bmp to describe Windows bitmap files.
To associate using the
svn:mime-type property, specify
the mime type, including a slash, for example
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.
If you want to remove a single item from one of the combo boxes you can do that in-place. Just click on the arrow to drop the combo box down, move the mouse over the item you want to remove and type Shift+Del.
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.
TortoiseSVN caches log messages fetched by the Show Log dialog to save time when you next show the log. If someone else edits a log message and you already have that message cached, you will not see the change until you clear the cache. Log message caching is enabled on the Log Cache tab.
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 authentication data for one particular server only, use theinstead of the button.
TortoiseSVN keeps a log of everything written to its progress dialogs. This can be useful when, for example, you want to check what happened in a recent update command.
The log file is limited in length and when it grows too big the oldest content is discarded. By default 4000 lines are kept, but you can customize that number.
From here you can view the log file content, and also clear it.
This dialog allows you to configure the log caching feature of TortoiseSVN, which retains a local copy of log messages and changed paths to avoid time-consuming downloads from the server. Using the log cache can dramatically speed up the log dialog and the revision graph. Another useful feature is that the log messages can still be accessed when offline.
Enables log caching whenever log data is requested. If checked, data will be retrieved from the cache when available, and any messages not in the cache will be retrieved from the server and added to the cache.
If caching is disabled, data will always be retrieved directly from the server and not stored locally.
Occasionally you may have to connect to a server which uses
the same URL for all repositories. Older versions of
svnbridge would do this. If you need to
access such repositories you will have to check this option.
If you don't, leave it unchecked to improve performance.
Some hosting services give all their repositories the same UUID. You may even have done this yourself by copying a repository folder to create a new one. For all sorts of reasons this is a bad idea - a UUID should be unique. However, the log cache will still work in this situation if you check this box. If you don't need it, leave it unchecked to improve performance.
If you are working offline, or if the repository server is down, the log cache can still be used to supply log messages already held in the cache. Of course the cache may not be up-to-date, so there are options to allow you to select whether this feature should be used.
When log data is being taken from the cache without contacting the server, the dialog using those message will show the offline state in its title bar.
When you invoke the log dialog you will normally want to contact the server to check for any newer log messages. If the timeout set here is non-zero then the server will only be contacted when the timeout has elapsed since the last time contact. This can reduce server round-trips if you open the log dialog frequently and the server is slow, but the data shown may not be completely up-to-date. If you want to use this feature we suggest using a value of 300 (5 minutes) as a compromise.
If you browse around a lot of repositories you will accumulate a lot of log caches. If you're not actively using them, the cache will not grow very big, so TortoiseSVN purges them after a set time by default. Use this item to control cache purging.
Larger caches are more expensive to reacquire, so TortoiseSVN only purges small caches. Fine tune the threshold with this value.
Occasionally something goes wrong with the caching and causes a crash. If this happens the cache is normally deleted automatically to prevent a recurrence of the problem. If you use the less stable nightly build you may opt to keep the cache anyway.
On this page you can see a list of the repositories that are cached locally, and the space used for the cache. If you select one of the repositories you can then use the buttons underneath.
Click on theto completely refresh the cache and fill in any holes. For a large repository this could be very time consuming, but useful if you are about to go offline and want the best available cache.
Click on thebutton to export the entire cache as a set of CSV files. This could be useful if you want to process the log data using an external program, although it is mainly useful to the developers.
Click onto remove all cached data for the selected repositories. This does not disable caching for the repository so the next time you request log data, a new cache will be created.
Click on the button to see detailed statistics for a particular cache. Many of the fields shown here are mainly of interest to the developers of TortoiseSVN, so they are not all described in detail.
The amount of memory required to service this cache.
The amount of disk space used for the cache. Data is compressed, so disk usage is generally fairly modest.
Shows whether the repository was available last time the cache was used.
The last time the cache content was changed.
The last time we requested the HEAD revision from the server.
The number of different authors with messages recorded in the cache.
The number of paths listed, as you would see using
svn log -v.
The number of revision ranges which we have not fetched, simply because they haven't been requested. This is a measure of the number of holes in the cache.
The highest revision number stored in the cache.
The number of revisions stored in the cache. This is another measure of cache completeness.
This dialog allows you to set up hook scripts which will be executed automatically when certain Subversion actions are performed. As opposed to the hook scripts explained in the section called “Server side hook scripts”, these scripts are executed locally on the client.
One application for such hooks might be to call a program like
SubWCRev.exe to update version numbers after a commit,
and perhaps to trigger a rebuild.
Note that you can also specify such hook scripts using special properties on your working copy. See the section the section called “TortoiseSVN Project Properties” for details.
To add a new hook script, simply click and fill in the details.
There are currently these types of hook script available
Called before the commit dialog is shown. You might want to use this if the hook modifies a versioned file and affects the list of files that need to be committed and/or commit message. However you should note that because the hook is called at an early stage, the full list of objects selected for commit is not available.
If this is specified, the commit dialog shows a buttonwhich when clicked runs the specified hook script. The hook script receives a list of all checked files and folders and the commit message if there was one entered.
Called after the user clicksin the commit dialog, and before the commit dialog closes. This hook gets a list of all the checked files. If the hook returns an error, the commit dialog stays open.
If the returned error message contains paths on newline separated lines, those paths will get selected in the commit dialog after the error message is shown.
Called after the user clicksin the commit dialog, and before the actual commit begins. This hook has a list of exactly what will be committed.
Called after the commit finishes successfully.
Called before the update-to-revision dialog is shown.
Called before the actual Subversion update or switch begins.
Called after the update, switch or checkout finishes (whether successful or not).
Called before an attempt to contact the repository. Called at most once in five minutes.
Called before an attempt to lock a file.
Called after a file has been locked.
A hook is defined for a particular working copy path. You only need to specify the top level path; if you perform an operation in a sub-folder, TortoiseSVN will automatically search upwards for a matching path.
Next you must specify the command line to execute, starting with the path to the hook script or executable. This could be a batch file, an executable file or any other file which has a valid windows file association, e.g. a perl script. Note that the script must not be specified using a UNC path as Windows shell execute will not allow such scripts to run due to security restrictions.
The command line includes several parameters which get filled in by TortoiseSVN. The parameters passed depend upon which hook is called. Each hook has its own parameters which are passed in the following order:
no parameters are passed to this script. You can pass a custom parameter by appending it to the script path.
The meaning of each of these parameters is described here:
A path to a temporary file which contains all the paths for which the operation was started. Each path is on a separate line in the temp file.
Note that for operations done remotely, e.g. in the repository browser, those paths are not local paths but the urls of the affected items.
The depth with which the commit/update is done.
Possible values are:
Path to a file containing the log message for the commit. The file contains the text in UTF-8 encoding. After successful execution of the start-commit hook, the log message is read back, giving the hook a chance to modify it.
The repository revision to which the update should be done or after a commit completes.
true when locking, or
false when unlocking.
on whether the operation was forced or not.
Path to a file containing the error message. If there was no error, the file will be empty.
The current working directory with which the script is run. This is set to the common root directory of all affected paths.
A path to a temporary file which contains all the paths which were somehow touched by the operation. Each path is on a separate line in the temp file.
Note that although we have given these parameters names for convenience, you do not have to refer to those names in the hook settings. All parameters listed for a particular hook are always passed, whether you want them or not ;-)
If you want the Subversion operation to hold off until the hook has completed, check Wait for the script to finish.
Normally you will want to hide ugly DOS boxes when the script runs, so Hide the script while running is checked by default.
When debugging hook scripts you may want to echo progress lines to the DOS console, or insert a pause to stop the console window disappearing when the script completes. Because I/O is redirected this will not normally work. However you can redirect input and output explicitly to CON to overcome this. e.g.
echo Checking Status > con pause < con > con
A small tool is included in the TortoiseSVN installation folder named
ConnectVPN.exe. You can use this tool configured as a
pre-connect hook to connect automatically to your VPN before TortoiseSVN
tries to connect to a repository.
Just pass the name of the VPN connection as the first parameter to the tool.
TortoiseSVN can use a COM plugin to query issue trackers when in the commit dialog. The use of such plugins is described in the section called “Getting Information from the Issue Tracker”. If your system administrator has provided you with a plugin, which you have already installed and registered, this is the place to specify how it integrates with your working copy.
Click on to use the plugin with a particular working copy. Here you can specify the working copy path, choose which plugin to use from a drop down list of all registered issue tracker plugins, and any parameters to pass. The parameters will be specific to the plugin, but might include your user name on the issue tracker so that the plugin can query for issues which are assigned to you.
If you want all users to use the same COM plugin for your project, you
can specify the plugin also with the properties
This property specifies the COM UUID of the IBugtraqProvider,
(This example is the UUID of the
Gurtle bugtraq provider
which is a provider for the
This is the same as
for the 64-bit version of the IBugtraqProvider.
This property specifies the parameters passed to the IBugtraqProvider.
Please check the documentation of your IBugtraqProvider plugin to find out what to specify in these two properties.
The settings used by TortoiseBlame are controlled from the main context menu, not directly with TortoiseBlame itself.
TortoiseBlame can use the background colour to indicate the age of lines in a file. You set the endpoints by specifying the colours for the newest and oldest revisions, and TortoiseBlame uses a linear interpolation between these colours according to the repository revision indicated for each line.
You can specify different colours to use for the locator bar. The default is to use strong contrast on the locator bar while keeping the main window background light so that you can still read the text.
You can select the font used to display the text, and the point size to use. This applies both to the file content, and to the author and revision information shown in the left pane.
Defines how many spaces to use for expansion when a tab character is found in the file content.
The settings used by TortoiseUDiff are controlled from the main context menu, not directly with TortoiseUDiff itself.
The default colors used by TortoiseUDiff are usually ok, but you can configure them here.
You can select the font used to display the text, and the point size to use.
Defines how many spaces to use for expansion when a tab character is found in the file diff.
You can sync all TortoiseSVN settings to and from an encrypted file. The file is encrpyted with the password you enter so you don't have to worry if you store that file on a cloud folder like OneDrive, GDrive, DropBox, ...
When a path and password is specified, TortoiseSVN will sync all settings automatically and keep them in sync.
You can also export/import an encrypted files with all the settings manually. When you do that, you're asked for the path of the file and the password to encrypt/decrypt the settings file.
When exporting the settings manually, you can also optionally include all local settings which are not included in a normal export or in a sync. Local settings are settings which include local paths which usually vary between computers. These local settings include the configured diff and merge tools and hook scripts.
A few infrequently used settings are available only in the advanced page of the settings dialog. These settings modify the registry directly and you have to know what each of these settings is used for and what it does. Do not modify these settings unless you are sure you need to change them.
Sometimes multiple users use the same account on the same computer.
In such situations it's not really wanted to save the authentication
data. Setting this value to
false disables the
save authentication button in the authentication
If an update adds a new file from the repository which
already exists in the local working copy as an unversioned
file, the default action is to keep the local file, showing
it as a (possibly) modified version of the new file from the
If you would prefer TortoiseSVN to create a conflict in
such situations, set this value to
As with the explorer, TortoiseSVN shows additional commands
if the Shift key is pressed while the
context menu is opened.
To force TortoiseSVN to always show those extended commands,
set this value to
The minimum amount of chars from which the editor
shows an auto-completion popup. The default value
The auto-completion list shown in the commit message editor
displays the names of files listed for commit.
To also include these names with extensions removed,
set this value to
File externals that are pegged to a specific revision are blocked by default from being selected for a commit. This is because a subsequent update would revert those changes again unless the pegged revision of the external is adjusted.
Set this value to
false in case you still
want to commit changes to such external files.
If you don't want the explorer to update the status overlays
while another TortoiseSVN command is running
(e.g. Update, Commit, ...) then set this value to
To add a cache tray icon for the TSVNCache program, set
this value to
This is really only useful for developers as it allows
you to terminate the program gracefully.
The extra columns the TortoiseSVN adds to the details view
in Windows Explorer are normally only active in a working
copy. If you want those to be accessible everywhere, not
just in working copies, set this value to
Note that the extra columns are only available in XP.
Vista and later doesn't support that feature any more.
However some third-party explorer replacements do support
those even on Windows versions later than XP.
You can specify a different location for the Subversion configuration file here. This will affect all TortoiseSVN operations.
In most dialogs in TortoiseSVN, you can use Ctrl+Enter
to dismiss the dialog as if you clicked on the OK button.
If you don't want this, set this value to
Set this to
true if you want a dialog to
pop up for every command showing the command line used to
Set this to
true if you want TortoiseSVN
to print out debug messages during execution. The messages
can be captured with special debugging tools only.
The default format (value of 0) of dialog titles is
url/path - name of dialog - TortoiseSVN.
If you set this value to 1, the format changes to
name of dialog - url/path - TortoiseSVN.
TortoiseSVN allows you to assign an external diff viewer.
Most such viewers, however, are not suited for change blaming
(the section called “Blame Differences”),
so you might wish to fall back to TortoiseMerge in this case.
To do so, set this value to
This value specifies the number of pixels a dialog has to be near a border before the dialog sticks to it. The default value is 3. To disable this value set the value to zero.
Some apps change the case of filenames without notice
but those changes aren't really necessary nor wanted.
For example a change from
FILE.TXT wouldn't bother
normal Windows applications, but Subversion is case
sensitive in these situations. So TortoiseSVN automatically
fixes such case changes.
If you don't want TortoiseSVN to automatically fix
such case changes for you, you can set this value
The status list control which is used in various dialogs
(e.g., commit, check-for-modifications, add, revert, ...)
uses full row selection (i.e., if you select an entry, the
full row is selected, not just the first column).
This is fine, but the selected row then also covers the
background image on the bottom right, which can look ugly.
To disable full row select, set this value to
This option determines how the Win7 taskbar icons of the various TortoiseSVN dialogs and windows are grouped together. This option has no effect on Vista!
The default value is 0. With this setting, the icons are grouped together by application type. All dialogs from TortoiseSVN are grouped together, all windows from TortoiseMerge are grouped together, ...
If set to 1, then instead of all dialogs in one
single group per application, they're grouped
together by repository. For example, if you have
a log dialog and a commit dialog open for repository
A, and a check-for-modifications
dialog and a log dialog for repository
then there are two application icon groups shown
in the Win7 taskbar, one group for each repository.
But TortoiseMerge windows are not grouped together
with TortoiseSVN dialogs.
If set to 2, then the grouping works as with the setting set to 1, except that TortoiseSVN, TortoiseMerge, TortoiseBlame, TortoiseIDiff and TortoiseUDiff windows are all grouped together. For example, if you have the commit dialog open and then double click on a modified file, the opened TortoiseMerge diff window will be put in the same icon group on the taskbar as the commit dialog icon.
If set to 3, then the grouping works as with the setting set to 1, but the grouping isn't done according to the repository but according to the working copy. This is useful if you have all your projects in the same repository but different working copies for each project.
If set to 4, then the grouping works as with the setting set to 2, but the grouping isn't done according to the repository but according to the working copy.
If this is set to
svn:externals is shown
during an update separately.
If it is set to
true (the default),
then update information for externals is only shown
if the externals are affected by the update, i.e.
changed in some way. Otherwise nothing is shown
as with normal files and folders.
This has no effect if the option
is set to 0 (see above).
If this option is set to
true, then every
icon on the Win7 taskbar shows a small colored rectangle overlay,
indicating the repository the dialogs/windows are used for.
By default, TortoiseSVN always runs an update with externals
included. This avoids problems with inconsistent working copies.
If you have however a lot of externals set, an update can
take quite a while. Set this value to
to run the default update with externals excluded. To
update with externals included, either run the
Update to revision... dialog or set this
When the log dialog is started from the merge wizard, already merged revisions are shown in gray, but revisions beyond the point where the branch was created are also shown. These revisions are shown in black because those can't be merged.
If this option is set to
true then TortoiseSVN
tries to find the revision where the branch was created from
and hide all the revisions that are beyond that revision.
Since this can take quite a while, this option is disabled
by default. Also this option doesn't work with some SVN servers
(e.g., Google Code Hosting, see
A format string for the log messages when multiple revisions are selected in the log dialog.
You can use the following placeholders in your format string:
The log dialog shows the revision the working copy path
is at in bold. But this requires that the log dialog fetches
the status of that path. Since for very big working copies
this can take a while, you can set this value to
to deactivate this feature.
When you merge revisions from another branch, and merge tracking information is available, the log messages from the revisions you merge will be collected to make up a commit log message. A pre-defined string is used to separate the individual log messages of the merged revisions. If you prefer, you can set this to a value containing a separator string of your choice.
If you want to show the diff at once for more items than specified with this settings, a warning dialog is shown first. The default is 10.
TortoiseSVN checks whether there's a new version available
about once a week. If an updated version is found, the
commit dialog shows a link control with that info.
If you prefer the old behavior back where a dialog
pops up notifying you about the update, set this value to
The repository browser tries to fetch the web page that's
generated by an SVN server configured with the SVNParentPath
directive to get a list of all repositories. To disable that
behavior, set this value to
This option enables the bidirectional mode
for the commit message edit box. If enabled,
right-to-left language text editing is done
properly. Since this feature is expensive, it
is disabled by default. You can enable this by
setting this value to
This option enables the use of Direct2D accelerated
drawing in the Scintilla control which is used
as the edit box in e.g. the commit dialog, and also
for the unified diff viewer.
With some graphic cards however this sometimes
doesn't work properly so that the cursor to enter
text isn't always visible. If that happens, you
can turn this feature off by setting this value
This parameter specifies how TortoiseSVN behaves if a commit fails due to an out-of-date error:
The user is asked whether to update the working copy or not, and the commit dialog is not reopened after the update.
This is the default. The user is asked whether to update the working copy or not, and the commit dialog is reopened after the update so the user can proceed with the commit right away.
1, but instead of updating only the paths selected
for a commit, the update is done on the working copy root. This helps to avoid
inconsistent working copies.
The user is not asked to update the working copy. The commit simply fails with the out-of-date error message.
If set to
true, TortoiseSVN will play a system sound
when an error or warning occurs, or another situation which
is important and requires your attention.
Set this to
false if you want to keep
TortoiseSVN quiet. Note that the project monitor has its own
setting for playing sounds, which you can configure in its settings
TortoiseSVN uses accelerators for its explorer context menu
entries. Since this can lead to doubled accelerators (e.g.
SVN Commit has the Alt-C
accelerator, but so does the
If you don't want or need the accelerators of the TortoiseSVN
entries, set this value to
This can be useful if you use something other than the windows explorer
or if you get problems with the context menu displaying incorrectly.
Set this value to
if you don't want TortoiseSVN to show icons for the
shell context menu items.
Set this value to
true to show the icons again.
If you don't want TortoiseSVN to show icons for the context menus
in its own dialogs, set this value to
The commit and log dialog use styling (e.g. bold, italic)
in commit messages
(see the section called “Commit Log Messages” for details).
If you don't want to do this, set the value to
This value contains the URL from which TortoiseSVN tries to download a text file to find out if there are updates available. This might be useful for company admins who don't want their users to update TortoiseSVN until they approve it.
TortoiseSVN checks whether there's a new version available
about once a week. If you don't want TortoiseSVN to do this
check, set this value to