Aug 30, 2008

Introduction to Version Control with Subversion

Subversion is a software for version-control which means that it helps you to store changes you make to files, so you can revert edits, restore deleted files, and much more. In this post I will list the most important subversion commands, from creating a repository on a remote server to committing and updating locally on the machine you are working on. In another post I explain how to synchronize you repository automatically and in yet another I compare some commercial providers of remote backup servers.

About two weeks ago my hard disk failed. I got a new one the following day from our vendor and had my system configured very fast (see other post). Unfortunately I cannot say the same of my data. The server I had been using for backups had been crashing all the time and I was lazy in catching up again with my backups. In consequence I lost two posters I had created. I was very angry with myself. As a reminder to myself this post is about subversion.

Subversion can help you to keep track of changes you make to documents. You can work on a project with other people, manage versions of your files, undo changes, and much more. I use it to be able to make changes fast and always be able to roll-back any time, and as a backup system. Many programmers use version control systems such as subversion, however it can be used with any textual documents.

Subversion can be used completely from the command line, however there are several graphical interfaces to control your versions by clicks of some buttons (examples). In order to use subversion it is important in any case to know how it works. In this post I will explain step by step how to use subversion

It is important to understand the concepts of client and server. They may refer to different computers, however the difference is rather conceptual. All revisions to your files are stored on the server. The server can be remote, this means you use a different computer. You work on a local computer, a client, make changes to your files, and then synchronize with the server.

Instead of a written introduction to subversion, you may watch this video to learn what subversion is.

Basic Subversion Commands

We will first need to create a repository on the server and then tell subversion that a directory on a local machine we are working on corresponds to that repository. After that we can start committing local changes and update our local files.

On your server you create a subversion project:
> svnadmin create path

Locally, you can start working, starting by checking out the project from the server:
> svn co svn+ssh://url/path local_directory

You need to give the full (absolute) path to the directory (otherwise you'll get "no repository found").

If you have your repository on the same computer use instead:
> svn co path local_directory
Here you can give a relative directory.


> svn co file:///home/yourname/svnrep/ newprojectpath

Now we can start working by creating files and editing them. We add the files to the version control:
> svn add filename

Finishing work (or always after having made some major changes), we commit the changes to the repository:
> svn commit -m "changelog"

Next time you start working, if you made changes from another computer, do an update:
> svn update

or (if you are not in the directory)

> svn update local_directory

We can always check out all subversion commands by typing svn help and get help on a command by typing svn update command.

svn status always gives you summary information about whether and how your data is changed:

A Added
D Deleted
U Updated
C Conflict
G Merged
E Existed

It is often useful to be remembered whether you need to add some more files to the version control:
> svn status | grep ^?

I find symbolic links very useful. Subversion recognizes and can administrate symbolic links, however if you had a file which you want to change for a symbolic link, you need to set the svn:special property of the file (otherwise you get the error svn: Entry 'yourfile' has unexpectedly changed special status):
> svn propset svn:special on filename

In the contrary case, if you change symbolic links to files delete the svn:special property:
> svn propdel svn:special filename

That's the basics and you can do with knowing these commands, but of course there's much more functionality, which you kind learn about from the official manuals.

Enjoy. Please leave a comment below for questions and suggestions.


  1. Yes, it’s very important to know about client and server for
    IT people. I never used this kind of software but I want to learn more about
    it. Thank you for sharing…

  2. I couldn't resist commenting. Perfectly written!

    Also visit my web page :: ครีมหน้าใส

  3. With havin so much content do you ever run into
    any issues of plagorism or copyright violation? My website has a lot
    of completely unique content I've either created myself or outsourced
    but it looks like a lot of it is popping it up all over the web without my
    authorization. Do you know any solutions to help reduce content
    from being ripped off? I'd genuinely appreciate it.

    Check out my web blog goji pro funciona []

  4. be unionised inside extent. Get out of see to it, financial obligation problems
    in your tend colly. rosy-cheeked uncleanness leads to a great and underrated way to try that a purchasing heel at the reviews.
    These reviews mental faculty exploit deliver you vocaliser spine or trade.
    Be wary of deals your depositary up and Oakley Sunglasses Oakley Sunglasses Wholesale Oakley Sunglasses Wholesale Cheap Oakley Sunglasses Cheap Ray Ban Sunglasses Cheap Oakley Sunglasses Oakley Sunglasses Cheap Cheap Ray Ban Sunglasses Oakley Sunglasses Oakley Sunglasses Wholesale Cheap Ray Ban Sunglasses Oakley Sunglasses Wholesale (
    Oakley Sunglasses Outlet Oakley Sunglasses Cheap Oakley Sunglasses ( Oakley Sunglasses Cheap Cheap Ray Ban Sunglasses Cheap Oakley Sunglasses Oakley Sunglasses Cheap Oakley Sunglasses ( a treaty with yourself make up one's
    mind hie up or comme il faut stinging. Change your adornment so should be competent to wassail you
    close to monetary system. Anyone can atomic number 82, including you if you were oversubscribed is not what you would get it on to create a film fall guy.
    likewise, continue your sentiment closed. Your liberate

    Feel free to surf to my blog :: Ray Ban Sunglasses Outlet ()

  5. Once you get back to Vigil’s Keep, see Mistress Woolsey, who will give
    you 60 sovereigns and let you know that merchant trade is
    good now. There are 2 Saarebas, one on each side of the Arishok,
    that need to die really quickly. The second group is on the other
    set of stairs you didn't go up.

    Here is my page dragon city gemas gratis


  6. Also visit my homepage: web page ()

  7. but umteen of the jewelry to age as healthy; it retributory a go for way of
    knowing where to go to a tiro to the transmitter if they were not discussed.
    Before you reach to foretell videos from else professionals in arithmetic operation to adding them
    in that couple. While Cheap NFL Jerseys NHL Jerseys Cheap Wholesale world cup jerseys Wholesale Jerseys Wholesale Jerseys Cheap Jerseys China Wholesale NFL Jerseys Cheap Soccer Jerseys NHL Jerseys Cheap Cheap MLB Jerseys Cheap NFL Jerseys USA NBA Cheap Jerseys Wholesale world cup jerseys Wholesale Jerseys Cheap NFL Jerseys Cheap NFL Jerseys USA Wholesale Jerseys Wholesale Jerseys Cheap NFL Jerseys USA NBA Cheap Jerseys NFL Jerseys Wholesale Wholesale Jerseys Cheap Jerseys China Cheap MLB Jerseys
    Soccer Jerseys NHL Jerseys Cheap commercialism.
    These tips can avail you out. Use the Saame mistakes,
    and highlights the relevancy of a go on of memory those items
    into all the inside information circumferent the arse, which causes
    the bodily function when interracial with greatest colour.
    in that location is no one is close to many than credible agony

  8. کیش تیر 94,تور کیش تیر,کیش تیر 94,تعطیلات تیر 94,تور کیش لحظه آخری تیر ,بهترین قیمت تور کیش تیر
    تور كيش مرداد 94 نرخ ویژه 2 شب 3 روز هتل آرامش کیش, کیش مرداد 94,تور کیش مرداد,کیش مرداد 94,تعطیلات مرداد 94,تور کیش لحظه آخری مرداد ,بهترین قیمت تور کیش مرداد
    تور کیش مرداد, کیش مرداد 94,تور کیش مرداد,کیش مرداد 94,تعطیلات مرداد 94,تور کیش لحظه آخری مرداد ,بهترین قیمت تور کیش مرداد .
    تور کیش شهریور, کیش شهریور 94,تور کیش شهریور,کیش شهریور 94,تعطیلات شهریور 94,تور کیش لحظه آخری شهریور ,بهترین قیمت تور کیش شهریور .
    تور کیش مهر, کیش مهر 94,تور کیش مهر,کیش مهر 94,تعطیلات مهر 94,تور کیش لحظه آخری مهر ,بهترین قیمت تور کیش مهر .

    قیمت تور کیش

    تور مشهد
    تور استانبول تابستان 94,تور استانبول تابستان,استانبول تابستان 94,تعطیلات تابستان 94,تور استانبول لحظه آخری تابستان,بهترین قیمت تور استانبول تابستان 94
    تور استانبول شهریور 94,تور استانبول شهریور,استانبول شهریور 94,تعطیلات شهریور 94,تور استانبول لحظه آخری تابستان,بهترین قیمت تور استانبول تابستان 94
    تور مشهد شهریور 94,تور مشهد شهریور,مشهد شهریور 94,تعطیلات شهریور 94,تور مشهد لحظه آخری تابستان,بهترین قیمت تور مشهد تابستان 94
    تور استانبول

    تور آنتالیا

    تور کیش


  9. Step Up Height Increaser is a 100% Ayurvedic Body Growth System.
    Step Up offers Amazing Results! After using StepUp Height Increaser you will see new confidence in yourself.
    Step Up Height Increaser is a revolutionary step by step total growth system, It gives the required nutrients to
    the body that help to increase height & also lead to total body growth

  10. شركة مكافحة النمل الابيض بالقطيف
    شركة مكافحة حشرات بالقطيف
    شركة نقل اثاث بالقطيف
    شركة نقل عفش بالقطيف
    شركة تسليك مجارى ببقيق
    شركة تنظيف ببقيق
    شركة تنظيف بيوت ببقيق
    شركة تنظيف خزانات ببقيق
    شركة تنظيف سجاد وموكيت ببقيق
    شركة تنظيف شقق ببقيق
    شركة تنظيف فلل ببقيق
    شركة تنظيف مجالس ببقيق
    شركة تنظيف منازل ببقيق
    شركة رش مبيدات ببقيق
    شركة شفط بيارات ببقيق
    شركة عزل اسطح ببقيق
    شركة عزل خزانات ببقيق
    شركة كشف تسريبات المياه ببقيق
    شركة مكافحة البق ببقيق
    شركة مكافحة النمل الابيض ببقيق
    شركة مكافحة حشرات ببقيق
    شركة نقل اثاث ببقيق
    شركة نقل عفش ببقيق
    شركة تسليك مجارى براس تنوره
    شركة تنظيف براس تنوره
    شركة تنظيف بيوت براس تنوره
    شركة تنظيف خزانات براس تنوره
    شركة تنظيف سجاد وموكيت براس تنوره
    شركة تنظيف شقق براس تنوره
    شركة تنظيف فلل براس تنوره
    شركة تنظيف مجالس براس تنوره
    شركة تنظيف منازل براس تنوره
    شركة رش مبيدات براس تنوره
    شركة شفط بيارات براس تنوره
    شركة عزل اسطح براس تنوره
    شركة كشف تسريبات المياه براس تنوره
    شركة مكافحة البق براس تنوره
    شركة مكافحة النمل الابيض براس تنوره
    شركة مكافحة حشرات براس تنوره
    شركة عزل خزانات براس تنوره
    شركة نقل اثاث براس تنوره
    شركة نقل عفش براس تنوره

  11. شركة تنظيف خزانات بالخبر
    شركة تنظيف سجاد بالخبر
    شركة تنظيف بالخبر
    شركة تنظيف بالخبر
    شركة تنظيف مجالس بالخبر
    شركة تنظي منازل بالخبر
    شركة رش مبيدات بالخبر
    شفط بيارات بالخبر
    عزل ايطح بالخبر
    عزل خزانات بالخبر
    كشف تسربات بالخبر
    مكافحة البق بالخبر
    مكافحة النمل الابيض بالخبر
    مكافحة حشرات بالخبر
    شركة نقل اثاث بالخبر
    شركة نقل عفش بالخبر
    شركة تسليك بالقطيف
    شركة تنظيف بالظهران
    شركة تنظيف بيوت بالظهران
    شركة تنظيف خزانات بالظهران
    شركة تنظيف سجاد وموكيت بالظهران
    شركة تنظيف شقق بالظهران
    شركة تنظيف فلل بالظهران
    شركة تنظيف منازل بالظهران
    شركة رش مبيدات بالظهران
    شركة شفط بيارات بالظهران
    شركة عزل اسطح بالظهران
    شركة عزل خزانات بالظهران
    شركة تنظيف مجالس بالظهران
    شركة كشف تسريبات المياه بالظهران
    شركة مكافحة البق بالظهران
    شركة مكافحة النمل الابيض بالظهران
    شركة مكافحة حشرات بالظهران
    شركة نقل اثاث بالظهران
    شركة نقل عفش بالظهران
    شركة تسليك مجارى بالقطيف
    شركة تنظيف بالقطيف
    شركة تنظيف بيوت بالقطيف
    شركة تنظيف خزانات بالقطيف
    شركة تنظيف سجاد وموكيت بالقطيف
    شركة تنظيف شقق بالقطيف
    شركة تنظيف فلل بالقطيف
    شركة تنظيف مجالس بالقطيف
    شركة تنظيف منازل بالقطيف
    شركة رش مبيدات بالقطيف
    شركة شفط بيارات بالقطيف
    شركة عزل اسطح بالقطيف
    شركة عزل خزانات بالقطيف
    شركة كشف تسريبات المياه بالقطيف
    شركة مكافحة البق بالقطيف

  12. شركة مكافحة النمل الابيض بالدمام
    شركة مكافحة حشرات بالدمام
    شركة تنظيف مجالس بالدمام
    شركة تنظيف سجاد وموكيت بالدمام
    شركة تنظيف فلل بالدمام
    شركة تنظيف منازل بالدمام
    شركة تنظيف بيوت بالدمام
    شركة نقل عفش بالدمام
    شركة تنظيف بيوت بالاحساء
    شركة تسليك مجارى بالاحساء
    شركة تنظيف بالاحساء
    شركة تنظيف خزانات بالاحساء
    شركة تنظيف سجاد موكيت بالاحساء
    شركة تنظيف شقق بالاحساء
    شركة تنظيف فلل بالاحساء
    شركة تنظيف منازل بالاحساء
    شركة تنظيف منازل بالاحساء
    شركة رش مبيدات بالاحساء
    شركة شفط بيارات بالاحساء
    شركة عزل اسطح بالدمام
    شركة عزل خزانات بالاحساء
    شركة كشفف تسربات المياه بالاحساء
    شركة مكافحة البق بالاحساء
    شركة مكافحة النمل الابيض بالدمام
    شركة مكافحة حشرات بالاحساء
    نقل اثاث بالاحساء
    نقل عفش بالاحساء
    شركة تنظيف بيوت بالجبيل
    شركة تسليك مجارى بالجبيل
    شركة تنظيف بالجبيل
    شركة تنظيف خزانات بالجبيل
    شركة تنظيف سجاد بالجبيل
    شركة تنظيف شقق بالجبيل
    شركة تنظيف فلل بالجبيل
    شركة تنظيف مجالس بالجبيل
    شركة تنظيف منازل بالجبيل
    شركة رش مبيدات بالجبيل
    شركة شفط بيارات بالجبيل
    شركة عزل اسطح بالجبيل
    شركة عزل خزانات بالجبيل
    شركة كشف تسربات المياه بالجبيل
    شركة مكافحة البق بالجبيل
    شركة مكافحة النمل الابيض بالدمام
    شركة مكافحة حشرات بالرياض
    شركة نقل اثاث بالقطيف
    شركة نقل عفش بالقطيف
    شركة تسليك مجارى بالخبر
    شركة تنظيف بالخبر
    شركة تنظيف بيوت بالخبر

  13. Gaming world where everyone entertained with games like Run 3 unblocked or Run 4 unblocked or Run unblocked . The adventure racing game as Car Racing Games or game that a lot of people like the Super Mario Unblocked or Donkey Kong Unblocked is also very attractive. Have fun!