So while looking for a good SVN client the other day, I found one called Versions. This application comes with a free 21 day trial. If you want to buy the application if will cost you 39 euro’s. This is of course about 57.00 USD. I personally do not think that is a bad price to pay for this application. So let me go into some details about why this application is worth the money.
Layout is clean
Easy to use
Can create your own local and outside repositories
Easy to understand error messages
Timeline view
Let me show you want timeline view show’s you.
JC Web Concepts Versions SVN
As you can see it will show you a nice history of what has been done with that SVN. It will show you what files have been change and the comment that was posted on when the change when was done. It organizes it by date so it is easier to find things.
If you are like me I have a lot of different repositories that I have to connect too. With Versions the bookmarks section is setup nicely so you can separate in a better working fashion.
Of course this tool comes with many more features such as comparing versions of a file, quick look function, inspector, etc… You can visit the companies site at http://www.versionsapp.com/ . I am telling you if you work with an SVN then you better get this application, it will be worth it. In the next week or so I am going to make a tutorial on how to use this application.
In one of my previous tutorials I showed you how to setup an SVN server. So now that is setup I am sure your next question is how do I use it. In the Mac realm there is limited access to how to communicate with an SVN. In this tutorial I am going to show you how to use Terminal to work with your SVN repository.
So I created a folder in my users directory called Development.
john-mac:~ jcostanzo$ cd Development
john-mac:~ jcostanzo$ mkdir myWebsite
john-mac:~ jcostanzo$ svn checkout http://ipaddressofserver/svn/myWebsite myWebsite
So now if you view the myWebsite directory you will see any files that are in the SVN directory. So now you will want to create a file and put some text in there. This can be anything from web files, images, executables, etc….. Then when you are ready go back to the terminal and do the following:
john-mac:~ jcostanzo$ cd Development
john-mac:~ jcostanzo$ svn commit myWebsite/-m"You would put some sort of message to explain what you are updating"--username jcostanzo
And that is pretty much it to command line work with SVN. There are tons more information about SVN command line. This is just the basics to get you started.
Well it appears that Apple has released the next version of the iPhone/ iPod Touch software. I have played around with the new software and for us first generation users there are some updates. One of the things Apple has done is integrate Genius into the app store. So in other words you can view what Genius thinks you would like in their App store. Basically it looks to see what applications you have and then will inform you of some other applications you might like. Now there are other things that the update has done but with having the 1st gen iPhone I cannot see them. To get a complete list visit Apple’s website.
Today an employee at my job requested that I install an application called FreeMind. FreeMind is an application that you can take your ideas and organize them. I use it for time and project management.
What is cool is you can export your map to an image, PDF or HTML. This tool can be used for other things but this is my first day using this. So I will keep using this and see if I can find some cons.
SVN (which stands for Subversion) is a version control system. So let me speak some english here for you. Lets say you make a website for a customer. When you are finished it is version 1. A month or so later the customer calls you back and wants to add a page or 2. This would then be version 2. So you upload ver 2 to replace ver 1 and the customer hates it. Oh my I did not back up ver 1 and there are many changes that happened. Well if you are using SVN you can go in and tell the code to revert back to ver 1 and then upload those files and you are a happy camper.
Well with the quick explaining what the SVN is, now lets show you how to setup the server for this. I will be installing this on a Ubuntu 9.04 box. I have tested this way with versions 8.04 and 8.10. Now I am assuming that you have Apache 2 and up already installed and configured.
Lets installing the app Subversion and install the apache module libapache2-svn
Next we make a main directory that will hold all of our SVN. You can have multiple sites or repositories as they are called for different sites or projects
jcostanzo@virtual-ubuntu:~$ sudomkdir/home/svn
Note: There is really no wrong place that you can setup the svn directory
Now we just need to make some permission changes to the directory we just made
We now have the SVN setup but now we need to get this configure so users can now connect to this SVN. We now need to edit /etc/apache2/mods-available/dav_svn.conf and make some changes to that file. You can add the following to the end of the file
If you have multiple repositories you would just add another section and change myWebsite to the name of the other repo. Now lets add 2 username and passwords that can connect to the SVN.
jcostanzo@virtual-ubuntu:~$ sudo htpasswd -c/etc/subversion/passwd jcostanzo
# You are prompted for the password. Go ahead and make one up
jcostanzo@virtual-ubuntu:~$ sudo htpasswd /etc/subversion/passwd bsmith
# Notice we took out the -c This is due to the -c is a flag that creates the passwd file.
That is it. You know have a working SVN server. In a later tutorial I will show you how to setup an SVN client to connect to this repositories. Below is a youtube video showing you how to do what I described above.