How does SVN work? (*/W.I.P./*)
This document is about the usage of Subversion (“SVN”)
What?
Subversion is an so-called file versioning system. It main purpose is usage for developers, and to make sure that more people can work on several sourcecode-files. At my employer, they used SVN for webdevelopment and backoffice development (Delphi).
From there, we started to use subversion as a document-tool. With that tool, we had 2 BIG advantages:
- Backups
- Rollback
Both are basically the same in subversion.
So how does this work?
SVN consists of an server and one or more clients. The server is in this case the “Passionata”, my server in Capelle a.d. IJssel. The client can be downloaded from Tigris.org, and is called TortioseSVN.
The server is able to give access to an so-called “Repository”. A repository is basically an map (“directory”) on the server, which can be accessed with the client (if you have the correct credentials).
In this case, the repository has all my school-related stuff in it. E.g.: Full or drafts of documents, scans, mind-mappings (another nice project!), and much, much more. All put in apart folders. Year after year, semester after semester. I’m able to connect to the repository via Tortoise, and you are able to do that to a small piece, the report we are both working on.
Commits…
Probably you don’t know the advantage of having a repository yet. I will tell the secret: if you upload (“Commit”) a new document to the repository, the client will warn the other clients that there is a new version of that particular file. So, imagine us working on that spiffy version of one document, we are are able to warn one another that an newer version of that document is available, and gives you the opportunity to download it to your computer. No more emailing, and always the latest version! This huge advantage has one disadvantage..
and locking..
We still are not able to work together, at the same time, at the same document. Therefor, an option called locking is available in subversion. This gives you the exclusive right to work on that document at that time. You need to unlock your version, and commit it, to give others the opportunity to work on the document.
Backups and Rollbacks
Now you know how SVN works with versioning, you know how backups are made: on the server. Because SVN is able to “rollback” (“give me the previous version of this document”), you are able to get an older version (without that nifty little error you put in the document), compare, and then roll an newer version. So, basically, the backups are included…