Chapter 4. Daily Use Guide

Table of Contents

General Features
Icon Overlays
Context Menus
Drag and Drop
Common Shortcuts
Authentication
Maximizing Windows
Importing Data Into A Repository
Import
Import in Place
Special Files
Checking Out A Working Copy
Checkout Depth
Committing Your Changes To The Repository
The Commit Dialog
Change Lists
Commit only parts of files
Excluding Items from the Commit List
Commit Log Messages
Commit Progress
Update Your Working Copy With Changes From Others
Resolving Conflicts
File Conflicts
Property Conflicts
Tree Conflicts
Getting Status Information
Icon Overlays
Detailed Status
TortoiseSVN Columns In Windows Explorer
Local and Remote Status
Viewing Diffs
Change Lists
Revision Log Dialog
Invoking the Revision Log Dialog
Revision Log Actions
Getting Additional Information
Getting more log messages
Current Working Copy Revision
Merge Tracking Features
Changing the Log Message and Author
Filtering Log Messages
Statistical Information
Offline Mode
Refreshing the View
Viewing Differences
File Differences
Line-end and Whitespace Options
Comparing Folders
Diffing Images Using TortoiseIDiff
Diffing Office Documents
External Diff/Merge Tools
Adding New Files And Directories
Copying/Moving/Renaming Files and Folders
Ignoring Files And Directories
Pattern Matching in Ignore Lists
Deleting, Moving and Renaming
Deleting files and folders
Moving files and folders
Dealing with filename case conflicts
Repairing File Renames
Deleting Unversioned Files
Undo Changes
Cleanup
Project Settings
Subversion Properties
TortoiseSVN Project Properties
Property Editors
External Items
External Folders
External Files
Branching / Tagging
Creating a Branch or Tag
Other ways to create a branch or tag
To Checkout or to Switch...
Merging
Merging a Range of Revisions
Reintegrate a branch
Merging Two Different Trees
Merge Options
Reviewing the Merge Results
Merge Tracking
Handling Conflicts during Merge
Merge a Completed Branch
Feature Branch Maintenance
Locking
How Locking Works in Subversion
Getting a Lock
Releasing a Lock
Checking Lock Status
Making Non-locked Files Read-Only
The Locking Hook Scripts
Creating and Applying Patches
Creating a Patch File
Applying a Patch File
Who Changed Which Line?
Blame for Files
Blame Differences
The Repository Browser
Revision Graphs
Revision Graph Nodes
Changing the View
Using the Graph
Refreshing the View
Pruning Trees
Exporting a Subversion Working Copy
Removing a working copy from version control
Relocating a working copy
Integration with Bug Tracking Systems / Issue Trackers
Adding Issue Numbers to Log Messages
Getting Information from the Issue Tracker
Integration with Web-based Repository Viewers
TortoiseSVN's Settings
General Settings
Revision Graph Settings
Icon Overlay Settings
Network Settings
External Program Settings
Saved Data Settings
Log Caching
Client Side Hook Scripts
TortoiseBlame Settings
Advanced Settings
Exporting TSVN Settings
Final Step

This document describes day to day usage of the TortoiseSVN client. It is not an introduction to version control systems, and not an introduction to Subversion (SVN). It is more like a place you may turn to when you know approximately what you want to do, but don't quite remember how to do it.

If you need an introduction to version control with Subversion, then we recommend you read the fantastic book: Version Control with Subversion .

This document is also a work in progress, just as TortoiseSVN and Subversion are. If you find any mistakes, please report them to the mailing list so we can update the documentation. Some of the screenshots in the Daily Use Guide (DUG) might not reflect the current state of the software. Please forgive us. We're working on TortoiseSVN in our free time.

In order to get the most out of the Daily Use Guide:

  • You should have installed TortoiseSVN already.

  • You should be familiar with version control systems.

  • You should know the basics of Subversion.

  • You should have set up a server and/or have access to a Subversion repository.

General Features

This section describes some of the features of TortoiseSVN which apply to just about everything in the manual. Note that many of these features will only show up within a Subversion working copy.

Icon Overlays

Figure 4.1. Explorer showing icon overlays

Explorer showing icon overlays


One of the most visible features of TortoiseSVN is the icon overlays which appear on files in your working copy. These show you at a glance which of your files have been modified. Refer to the section called “Icon Overlays” to find out what the different overlays represent.

Context Menus

Figure 4.2. Context menu for a directory under version control

Context menu for a directory under version control


All TortoiseSVN commands are invoked from the context menu of the windows explorer. Most are directly visible, when you right click on a file or folder. The commands that are available depend on whether the file or folder or its parent folder is under version control or not. You can also see the TortoiseSVN menu as part of the Explorer file menu.

Tip

Some commands which are very rarely used are only available in the extended context menu. To bring up the extended context menu, hold down the Shift key when you right click.

In some cases you may see several TortoiseSVN entries. This is not a bug!

Figure 4.3. Explorer file menu for a shortcut in a versioned folder

Explorer file menu for a shortcut in a versioned folder


This example is for an unversioned shortcut within a versioned folder, and in the Explorer file menu there are three entries for TortoiseSVN. One is for the folder, one for the shortcut itself, and the third for the object the shortcut is pointing to. To help you distinguish between them, the icons have an indicator in the lower right corner to show whether the menu entry is for a file, a folder, a shortcut or for multiple selected items.

If you are using Windows 2000 you will find that the context menus are shown as plain text, without the menu icons shown above. We are aware that this was working in previous versions, but Microsoft has changed the way its icon handlers work for Vista, requiring us to use a different display method which unfortunately does not work on Windows 2000.

Drag and Drop

Figure 4.4. Right drag menu for a directory under version control

Right drag menu for a directory under version control


Other commands are available as drag handlers, when you right drag files or folders to a new location inside working copies or when you right drag a non-versioned file or folder into a directory which is under version control.

Common Shortcuts

Some common operations have well-known Windows shortcuts, but do not appear on buttons or in menus. If you can't work out how to do something obvious, like refreshing a view, check here.

F1

Help, of course.

F5

Refresh the current view. This is perhaps the single most useful one-key command. For example ... In Explorer this will refresh the icon overlays on your working copy. In the commit dialog it will re-scan the working copy to see what may need to be committed. In the Revision Log dialog it will contact the repository again to check for more recent changes.

Ctrl-A

Select all. This can be used if you get an error message and want to copy and paste into an email. Use Ctrl-A to select the error message and then ...

Ctrl-C

... Copy the selected text.

Authentication

If the repository that you are trying to access is password protected, an authentication Dialog will show up.

Figure 4.5. Authentication Dialog

Authentication Dialog


Enter your username and password. The checkbox will make TortoiseSVN store the credentials in Subversion's default directory: %APPDATA%\Subversion\auth in three subdirectories:

  • svn.simple contains credentials for basic authentication (username/password). Note that passwords are stored using the WinCrypt API, not in plain text form.

  • svn.ssl.server contains SSL server certificates.

  • svn.username contains credentials for username-only authentication (no password needed).

If you want to clear the authentication cache for all servers, you can do so from the Saved Data page of TortoiseSVN's settings dialog. That button will clear all cached authentication data from the Subversion auth directories, as well as any authentication data stored in the registry by earlier versions of TortoiseSVN. Refer to the section called “Saved Data Settings”.

If you want to clear authentication for one realm only then you will have to dig into those directories, find the file which contains the information you want to clear and delete the file.

Some people like to have the authentication data deleted when they log off Windows, or on shutdown. The way to do that is to use a shutdown script to delete the %APPDATA%\Subversion\auth directory, e.g.

@echo off
rmdir /s /q "%APPDATA%\Subversion\auth"

You can find a description of how to install such scripts at http://www.windows-help-central.com/windows-shutdown-script.html .

For more information on how to set up your server for authentication and access control, refer to the section called “Accessing the Repository”.

Maximizing Windows

Many of TortoiseSVN's dialogs have a lot of information to display, but it is often useful to maximize only the height, or only the width, rather than maximizing to fill the screen. As a convenience, there are shortcuts for this on the Maximize button. Use the middle mouse button to maximize vertically, and right mouse to maximize horizontally.