This is an introduction to Subversion, using WANdisco's uberSVN and the trusty Windows client, TortoiseSVN. In fact, you can think of this tutorial as a set of TortoiseSVN water wings, aimed at developers who have been thrown into Subversion at the deep end. As well as getting TortoiseSVN installed, it'll show you how to get your working copy in place and your first changes made to the repository.
Upgraded to Subversion 1.7, but now your working copy won't update?
See our tutorial on Upgrading your Working Copy.
Download.
Run!
Welcome!
Agree!
Deselect unwanted bits.
Install!
Finish!
What's a working copy?
A copy of all or part of a repository that is stored on your computer. You can edit these files however you like, as changes won't apply to the repository until you decide to commit them - usually after you've thoroughly tested them. Your working copy is your own private work area: Subversion will never incorporate other people's changes, nor make your own changes available to others, until you explicitly tell it to do so. Bonus!
SVN Checkout...
Repository URL.
Checkout only what you need
If you include in the address a subdirectory, the checkout will ignore anything in the repository that is above the directory. This is very useful as it lets you quickly checkout a small part of a repository that might take a really long time to copy. e.g.
Checkout the whole repository: http://10.2.5.2:9880/zelle/
Checkout just a directory: http://10.2.5.2:9880/zelle/trunk/genshla01/
Checkout just a file: Alas, you can't. Subversion needs to organise working copy data using directories as its own 'housekeeping' data needs to live in a hidden subdirectory. There would be no opportunity to create a subdirectory if you checked out only a file. The workaround is to use the "Checkout Depth" option to checkout only directories, then perform selective updates on the things you need.
Repository URL from uberSVN.
the files, they are a changing.
You change the files in your working copy in the same way you always have, but to apply your changes to the repository you need to perform a Subversion Commit, here's how:
Working copy with no changes yet.
Subversion Status Overlay Icons |
Normal status - No change has been made to the element. |
Added - Has been introduced to Subversion, but not committed yet, so will not be available to other repository users. | |
Modified - The element has been modified since it was checked out or updated. It will need to be committed to return to normal status. | |
Read-only -The element has been set to read-only. Naturally, you won't be able to commit any changed to such a file. | |
Ignored - Subversion lets you deal with derived files that shouldn't be managed by version control by setting them as ignored. | |
Conflict - The element has been modified and committed, but the commit action failed because Subversion was unable to merge the changes. Usually happens when the file has been changed since it was checked out, and Subversion is unable to merge both sets of changes. | |
Locked - While locking files is contrary to Subversion's Copy-Modify-Merge model, it's available if you absolutely don't want sticky fingerprints on important files. | |
Unversioned - is an optional overlay that can distinguish all elements that are not under version control, but which have not been explicitly ignored. |
When overlays go bad...
The above overlays are really useful, unfortunately, due to a Windows limitation, other utilities that modify the shell may cause the overlays to disappear. You see, Windows 7 can only support 15 different overlay icons. Should you install something like Dropbox, it could displace some of the TortoiseSVN overlays. A re-install of TortoiseSVN won't fix the problem, although if you're brave/foolhardy enough to tinker in the registry, it's possible to mitigate the problem.
SVN Commmit.
If you create a new file or folder, adding it to the repository is a two step process:
Copyright © 2010 WANdisco
All Rights Reserved
This product is protected by copyright and distributed under
licenses restricting copying, distribution and decompilation.
Last build: 12:39pm - Friday 14th October 2011