Table of contents
Subversion 1.5 was recently released recently, and I decided to upgrade my 2 year old Subversion (SVN) server and client to the latest and greatest thing. I was using a console based server and a Java based client (with a GUI) and I wasn’t really happy with this setup, so I went looking for something better, and I found it. I installed everything on Windows Vista, both client and server, so the stuff I’m reviewing might not work on other platforms. In this review, I will show you how to install the server, and install the client, and commit a project, then check it out into a working copy.
I decided to use VisualSVN – http://www.visualsvn.com/server/. They have a great user interface to administer the server. There’s a nice Windows Management Console Plugin that allows you to easily manage repositories, and user access. The server also supports leveraging the users that already exist on your Windows machine, so you don’t have to setup user accounts if you don’t want to. You can of course setup your own users and access control. Also, this server comes with an apache web server that allows access to your SVN server via HTTPS. Very easy to use and installs in no time! Works great too. The server installs itself as a Windows service, and allows you to configure it via a MMC plugin.
The client selection was more complicated than the server choice. In my testing, I used a 400MB repository that contained over 15K files; I thought this would be a good real-world test. I evaluated the following clients:
Once you download the installer from VisualSVN’s website and start the install, this is what you will see:
You get to specify where to save your repository and what port to host it on! You can also let the server use existing windows users for authentication. Saves a lot of time as you don’t have to create new users and passwords just for your SVN server.
The server is remarkably easy to use. It’s got a simple GUI interface. Just create a new repository for your code and you are on your way.
Click on “Create new repository” to create a new repository:
You can then select its properties to see who can read/write to it:
That’s pretty much it! Now, on to installing the client, and then committing lots of files.
After installing Tortoise SVN client, you will have to configure it to ignore certain files, which might contain temp files or classes. To do this, right click on your desktop and from the TortoiseSVN menu, select Settings:
Under the Global ignore pattern, just put the folder names that you want to ignore on check-in/commit. You can separate these by spaces. I have “out” and “temp” set to be ignored.
TortoiseSVN changes the folder icons in explorer to represent different states, like if a folder has some unversioned file, or out of date file, etc. It is very easy to work with a repository’s contents given that this state information is exposed right in Explorer. You can also select different icon-sets to choose from, to depict this information. Pull up TortoiseSVN settings, and then pick the Icon Set that you like:
To import a folder into SVN, just right click on the folder, and select the Import menu:
This will bring up the Import dialog box. You can type the description of this import, and also pick which repository you want to save the folder to.
You can get the SVN URL from the VisualSVN Server:
Once you click on OK, TortoiseSVN will upload all the files into your repository and give you a confirmation message at the end. The source files are untouched.
Once the files have been committed, this is why my VisualSVN server console looks like:
Let’s checkout a working copy of the stuff we just committed/checked-in.
Open up an explorer window, and right click anywhere in there, or you can right click on your desktop:
This will bring up the Checkout dialog:
Pick the correct repository URL and the correct checkout directory, then click on OK.
This brings up the Checkout dialog box that will show you all the files that are being checked out:
When this process is complete, you will have a working copy of the files in the repository on your hard drive.
If you have any comments/feedback about this review, click here.
|« Merry Christmas and Happy New Year!!!||Objective C introduction for Java developers, and creating iPhone apps with Java »|