A Subversion client for Windows

Version 1.14

Stefan Küng

Lübbe Onken

Simon Large

2023/07/30 22:50:46 (r29597)

Table of Contents

What is TortoiseSVN?
TortoiseSVN's Features
TortoiseSVN's History
Reading Guide
Terminology used in this document
1. Getting Started
Installing TortoiseSVN
System requirements
Basic Concepts
Go for a Test Drive
Creating a Repository
Importing a Project
Checking out a Working Copy
Making Changes
Adding More Files
Viewing the Project History
Undoing Changes
Moving On ...
2. Basic Version-Control Concepts
The Repository
Versioning Models
The Problem of File-Sharing
The Lock-Modify-Unlock Solution
The Copy-Modify-Merge Solution
What does Subversion Do?
Subversion in Action
Working Copies
Repository URLs
How Working Copies Track the Repository
3. The Repository
Repository Creation
Creating a Repository with the Command Line Client
Creating The Repository With TortoiseSVN
Local Access to the Repository
Accessing a Repository on a Network Share
Repository Layout
Repository Backup
Server side hook scripts
Checkout Links
Accessing the Repository
4. Daily Use Guide
General Features
Icon Overlays
Context Menus
Drag and Drop
Common Shortcuts
Maximizing Windows
Importing Data Into A Repository
Import in Place
Special Files
Checking Out A Working Copy
Checkout Depth
Store pristine copies
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
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
Project Settings
Subversion Properties
TortoiseSVN Project Properties
Property Editors
External Items
External Folders
External Files
Creating externals via drag and drop
Branching / Tagging
Creating a Branch or Tag
Other ways to create a branch or tag
To Checkout or to Switch...
Merging a Range of Revisions
Merging Two Different Trees
Merge Options
Reviewing the Merge Results
Merge Tracking
Handling Conflicts after Merge
Feature Branch Maintenance
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
TortoiseUDiff Settings
Exporting TSVN Settings
Advanced Settings
Final Step
5. Project Monitor
Adding projects to monitor
Monitor dialog
Main operations
6. The SubWCRev Program
The SubWCRev Command Line
Keyword Substitution
Keyword Example
COM interface
7. IBugtraqProvider interface
Naming conventions
The IBugtraqProvider interface
The IBugtraqProvider2 interface
A. Frequently Asked Questions (FAQ)
B. How Do I...
Move/copy a lot of files at once
Force users to enter a log message
Hook-script on the server
Project properties
Update selected files from the repository
Roll back (Undo) revisions in the repository
Use the revision log dialog
Use the merge dialog
Use svndumpfilter
Compare two revisions of a file or folder
Include a common sub-project
Use svn:externals
Use a nested working copy
Use a relative location
Add the project to the repository
Create a shortcut to a repository
Ignore files which are already versioned
Unversion a working copy
Remove a working copy
C. Useful Tips For Administrators
Deploy TortoiseSVN via group policies
Redirect the upgrade check
Setting the SVN_ASP_DOT_NET_HACK environment variable
Disable context menu entries
D. Automating TortoiseSVN
TortoiseSVN Commands
Tsvncmd URL handler
TortoiseIDiff Commands
TortoiseUDiff Commands
E. Command Line Interface Cross Reference
Conventions and Basic Rules
TortoiseSVN Commands
Update to Revision
Show Log
Check for Modifications
Revision Graph
Repo Browser
Edit Conflicts
Get Lock
Release Lock
Create Repository Here
Add to Ignore List
Create Patch
Apply Patch
F. Implementation Details
Icon Overlays
G. Language Packs and Spell Checkers
Language Packs

List of Figures

1.1. The TortoiseSVN menu for unversioned folders
1.2. The Import dialog
1.3. File Difference Viewer
1.4. The Log Dialog
2.1. A Typical Client/Server System
2.2. The Problem to Avoid
2.3. The Lock-Modify-Unlock Solution
2.4. The Copy-Modify-Merge Solution
2.5. ...Copy-Modify-Merge Continued
2.6. The Repository's Filesystem
2.7. The Repository
3.1. The TortoiseSVN menu for unversioned folders
4.1. Explorer showing icon overlays
4.2. Context menu for a directory under version control
4.3. Explorer file menu for a shortcut in a versioned folder
4.4. Right drag menu for a directory under version control
4.5. Authentication Dialog
4.6. The Import dialog
4.7. The Checkout dialog
4.8. The Commit dialog
4.9. The Commit Dialog Spellchecker
4.10. The Progress dialog showing a commit in progress
4.11. Progress dialog showing finished update
4.12. Explorer showing icon overlays
4.13. Explorer property page, Subversion tab
4.14. Check for Modifications
4.15. Commit dialog with Changelists
4.16. Shelve dialog
4.17. Unshelve dialog
4.18. The Revision Log Dialog
4.19. The Revision Log Dialog Top Pane with Context Menu
4.20. The Code Collaborator Settings Dialog
4.21. Top Pane Context Menu for 2 Selected Revisions
4.22. The Log Dialog Bottom Pane with Context Menu
4.23. The Log Dialog Bottom Pane with Context Menu When Multiple Files Selected.
4.24. The Log Dialog Showing Merge Tracking Revisions
4.25. Commits-by-Author Histogram
4.26. Commits-by-Author Pie Chart
4.27. Commits-by-date Graph
4.28. Go Offline Dialog
4.29. The Compare Revisions Dialog
4.30. The image difference viewer
4.31. Explorer context menu for unversioned files
4.32. Right drag menu for a directory under version control
4.33. Explorer context menu for unversioned files
4.34. Explorer context menu for versioned files
4.35. Revert dialog
4.36. The Cleanup dialog
4.37. Subversion property page
4.38. Adding properties
4.39. Property dialog for hook scripts
4.40. Property dialog boolean user types
4.41. Property dialog state user types
4.42. Property dialog single-line user types
4.43. Property dialog multi-line user types
4.44. svn:externals property page
4.45. svn:keywords property page
4.46. svn:eol-style property page
4.47. tsvn:bugtraq property page
4.48. Size of log messages property page
4.49. Language property page
4.50. svn:mime-type property page
4.51. svn:needs-lock property page
4.52. svn:executable property page
4.53. Property dialog merge log message templates
4.54. The Branch/Tag Dialog
4.55. The Switch Dialog
4.56. The Merge Wizard - Select Revision Range
4.57. The Merge Wizard - Tree Merge
4.58. The Merge Conflict Dialog
4.59. The Merge Tree Conflict Dialog
4.60. The Merge-All Dialog
4.61. The Locking Dialog
4.62. The Check for Modifications Dialog
4.63. The Create Patch dialog
4.64. The Annotate / Blame Dialog
4.65. TortoiseBlame
4.66. The Repository Browser
4.67. A Revision Graph
4.68. The Export-from-URL Dialog
4.69. The Relocate Dialog
4.70. The Bugtraq Properties Dialog
4.71. Example issue tracker query dialog
4.72. The Settings Dialog, General Page
4.73. The Settings Dialog, Context Menu Page
4.74. The Settings Dialog, Dialogs 1 Page
4.75. The Settings Dialog, Dialogs 2 Page
4.76. The Settings Dialog, Dialogs 3 Page
4.77. The Settings Dialog, Colours Page
4.78. The Settings Dialog, Revision Graph Page
4.79. The Settings Dialog, Revision Graph Colors Page
4.80. The Settings Dialog, Icon Overlays Page
4.81. The Settings Dialog, Icon Set Page
4.82. The Settings Dialog, Icon Handlers Page
4.83. The Settings Dialog, Network Page
4.84. The Settings Dialog, Diff Viewer Page
4.85. The Settings Dialog, Diff/Merge Advanced Dialog
4.86. The Settings Dialog, Saved Data Page
4.87. The Settings Dialog, Log Cache Page
4.88. The Settings Dialog, Log Cache Statistics
4.89. The Settings Dialog, Hook Scripts Page
4.90. The Settings Dialog, Configure Hook Scripts
4.91. The Settings Dialog, Issue Tracker Integration Page
4.92. The Settings Dialog, TortoiseBlame Page
4.93. The Settings Dialog, TortoiseUDiff Page
4.94. The Settings Dialog, Sync Page
4.95. Taskbar with default grouping
4.96. Taskbar with repository grouping
4.97. Taskbar with repository grouping
4.98. Taskbar grouping with repository color overlays
5.1. The edit project dialog of the project monitor
5.2. The main dialog of the project monitor
B.1. The TortoiseSVN right drag context menu for moving files
C.1. The commit dialog, showing the upgrade notification

List of Tables

2.1. Repository Access URLs
4.1. Pinned Revision
6.1. List of available command line switches
6.2. List of SubWCRev error codes
6.3. List of available keywords
6.4. COM/automation methods supported
C.1. Menu entries and their values
D.1. List of available commands and options
D.2. List of available options
D.3. List of available options

TortoiseSVN homepage