Chapter 5. Daily Use Guide

Table of Contents

Getting Started
Context Menus
Drag and Drop
Authentication
Importing Data Into A Repository
Repository Layout
Import
Special Files
Referenced Projects
Checking Out A Working Copy
Sending Your Changes To The Repository
Update Your Working Copy With Changes From Others
Resolving Conflicts
Getting Status Information
Icon Overlays
TortoiseSVN Columns In Windows Explorer
Local and Remote Status
Viewing Diffs
Revision Log Dialog
Invoking the Revision Log Dialog
Getting Additional Information
Getting more log messages
Changing the Log Message and Author
Filtering Log Messages
Statistical Information
Viewing Differences
File Differences
Folder Differences
External Diff/Merge Tools
Adding New Files And Directories
Ignoring Files And Directories
Filename Globbing in Ignore Lists
Deleting, Renaming And Moving
Undo Changes
Cleanup
Project Settings
Branching / Tagging
Creating a Branch or Tag
To Checkout or to Switch...
Merging
Merging a Range of Revisions
Merging Two Different Trees
Previewing Merge Results
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?
The Repository Browser
Revision Graphs
Relocating a working copy
Integration with Bugtracking Systems / Issue trackers
TortoiseSVN's Settings
General Settings
Look and Feel Settings
Network Settings
External Program 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: Subversion: The Definitive Guide .

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.

  • 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.

Getting Started

Context Menus

Figure 5.1. 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.

Drag and Drop

Figure 5.2. 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.

Authentication

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

Figure 5.3. 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. One file for each server that you access. If you want to make Subversion and TortoiseSVN forget your credentials, you have to delete the corresponding file(s).

For more information on how to set up your server for authentication and access control, refer to Chapter 3, Setting Up A Server

Tip

If you have to authenticate against a Windows NT domain, enter your username including the domain name, like: MYDOMAIN/johnd.