Subversion: Managing files among multiple team-members

Note that this article is about managing actual source-files in a project (for example programming), not collaborative writing and the likes (for which I would recommend applications like Buzzword or Google Docs).

Fact: Having several people work on the same file within a project can be a real pain in the shades.

At the course I’ve seen people ’solve’ this issue by using Blackboard, FTP-servers, working from one shared portable harddrive, copy/pasting files around, and even uploading files to a Wiki (what!?).

It was not until my internship began that I was introduced to the brilliant concept of Subversion (sometimes also abbreviated as SVN).
Basically, Subversion is a system that lets multiple users work on the same file, with less hassle. With a client-application users can have the shared file-structure in a folder on their own computer and easily update the files after they’ve made changes.

In the rest of this post I’ll walk you through making a project ready for Subversion, let’s get started:

Do note that most of the following is mostly windows-oriented (I’m still stuck with a pc here), with a view osx-hints.

Get this: Hosting

In order to manage your files with Subversion you’ll need a central point where all of your project its files will be stored: hello Subversion hosting. Now my guess is that not all of you will feel that setting up a Subverison server is fun fun fun (I know I don’t), but do not fret: hello Assembla!

Assembla is a website that “provides tools and services for building software quickly using global teams”, including Subversion-support! Now Assembla is probably not the only site that provides free Subversion hosting, so feel free to make use of another service, otherwise go sign up for an Assembla account and login.

Done? Good! Now proceed by creating a new space for your project (‘Spaces’-tab on your start-page and then the ‘create a new space’-button). Give your project’s space a cool name and a nice URL and make sure that you at least select the first option (‘Software developers (trac)’). After that just keep hitting the ‘Next’-button and fill in your preferences.

Install that: Client

Assuming that you’re not into managing your subversion files through the commandline, you’re probably going to want to install a Subversion client-application. Let’s use TortoiseSVN (if you’re on a mac then I think SvnX should be a good alternative), simply download (choose the 32 bit installer if you’re unsure) and install it. The installation-wizard is über-simple and not much more than hitting ‘Next’ a couple of times, I trust that you’ll be able to manage that.

Do it: Usage

Now that you’ve got your own hosting and installed a client you’re all set to go. Create a new folder for your project on your computer, right-click it and hit ‘SVN Checkout’. A new dialog will appear:

Right now, the only thing we’ll want to fill in in this dialog, is the repository-URL, let’s go get it. Go back to your Assembla start page and go to your project’s space. On the current tab (‘Wiki’) the Subversion-URL for your project will be displayed:

The Subversion URL for my project is 'http://svn2.assembla.com/svn/ohgodthisisawesome'

Paste the URL into the repository-URL field in the Tortoise checkout-dialog and hit ‘OK’. A new dialog will appear telling you that data is being downloaded, once it’s done, hit ‘OK’:

If all went well (and if you have your system set to display hidden files/folders) then your project-folder will have one new folder called “.svn”. Every subversioned folder will carry an .svn-folder (they keep track of subversioned files), so get used to those ;)

Now let’s start tossing files around. Create a new file in your project-folder, right-click the project-folder and select ‘SVN Commit’. A new dialog will open with an overview of created, changed and deleted/missing files since the last time your commited/updated your project, this time the only change is the file you just created, make sure it’s selected and click ‘OK’:

Before you hit 'OK' make sure you select all of the files you want to commit

Mind that as a best-practice you should always make sure that the file you edited was in fact the latest version of that file.

Now that you’ve commited the changes you made, another team-member (who has also executed a checkout of the same project) can right-click the project-folder and hit ‘SVN Update’ and your changes will be downloaded to that folder. Isn’t it beautiful?
Here are a few tips that you might want to consider baring in mind:

  • If you want to turn your subversioned folder back into a non-subversioned folder then delete (move to trashbin, not ‘real’ delete) all the .svn folders in it.
  • If Tortoise somehow doesn’t recognize a newly created folder, then right-click it and select ‘Add…’ from the ‘TortoiseSVN’ menu.
  • If you’re using Assembla and you’re a compulsive control-freak (like I am), you can verify that your Tortoise installation isn’t messing with your mind, and look up the Subversion-URL in your browser.
  • You can commit/update an individual folder by simply right-clicking that one instead of the project-folder itself.
  • It’s best not to update a folder while there are still uncommited changed files in it.
  • Agree with your team-mates on regularly updating and commiting files (for example update in the morning, commit at the end of the day).

Of course there’s so much more about Subversion than what I wrote in the above, but this post is already getting a bit too lengthy.

If you have any questions then please do not be shy to ask them through the comments.


order phenterminebuy phentermineorder tramadoltramadol free shippingclomid pricescheap clomidcheap indocindiscount indocinprednisone 20 mgprednisone prescriptiondiscount femarabuy femaraeffexor priceseffexor onlinediscount viagra super activebuy viagra super activegeneric cialis free shippinggeneric cialis onlinebuy generic viagra onlinegeneric viagraorder female viagraorder vpxlviagra jelly free shippingviagra jellycialis jelly discount pricescialis jelly free shippingkamagra cheap pricekamagra onlineviagra cialis onlinetaking viagra cialis togetherlevitralevitra free shippingpurchase cialis professional onlinecialis professional onlineviagra professionalcheap viagra professionaldiscount cialis soft tabscialis soft tabs onlineviagra soft tabs discount pricesbuy viagra soft tabscialis pricecialis onlineviagrabuy viagradiscount xenicalxenical onlinediscount revatiorevatiocheap vpxlbuy vpxlorder propeciacheap propeciadiscount ventolinbuy ventolinbrand viagra pricebrand viagra onlinecialis super active prescriptioncheap cialis super activeorder levitra professionalbuy levitra professionalorder levitrapurchase levitraviagra super active pricecheap viagra super activeorder viagra cialiscialis professionalbuy generic cialiscialis soft tabs shippingcialis soft tabs pricegeneric viagra free shippinggeneric viagrabuy cialisorder cialiscialis professional free shippingcialis professionalbuy viagra soft tabs visacheap viagra soft tabscheap viagraviagra free shippingviagra professional free shippingcheap viagra professionalvpxl pricevpxlcompare viagra cialisorder viagra cialis onlinelevitra professional pricecheap levitra professionallevitra pricecheap levitraorder cialis jellybuy cialis jellycialis tabscialis softcialis super active onlinecheap cialis super activeorder generic cialisgeneric cialisorder cialis professionalcialis professional pricecialis onlinecialisorder brand viagrabrand viagra onlinecheap viagra jellyviagra jellyorder viagra soft tabsbuy viagra soft tabsviagra super active pricecheapviagra super activeorder generic viagrabuy generic viagraorder viagra professionalbuy viagra professionalviagra pricebuy viagrawhere to buy cialis onlinewhat is cialistadalafil cialispurchase generic cialispurchase cialis onlinecialis safe secure online shoppingcialis mail ordercialis free consultationbuy cialis from usa onlinebuy cialis fedex shippingbuy cialis fast shippingbuy cialis no prescriptionbuy cialis amexbuy cialis without credit cardbest cialis pricesbuy viagra cheap fedexbuy viagra australiaviagra purchaseorder forms for buying viagraonline pharmacy viagra cialischeap viagra fast shippingbuy kamagra viagraviagra for sale onlineviagra drugs order brand pillviagra best quality lowest pricesviagra best prices fda approvedgeneric viagra money orderbreak levitra tabletsbilling viagrapurchase viagra onlinepurchase viagrabest price viagra official drug storeorder viagra with master cardbuy viagra in stoke on trentbest buy online price viagradeal online price viagrabuy cialis onlinebuy viagra onlineorder viagra onlineorder levitra onlinebuy levitra onlinevpxl onlinevpxlviagra vs cialisgeneric levitralevitra professional pricecheap levitra professionallevitralevitra onlineorder cialis jellycheap cialis jellycialis soft tabsbuy cialis soft tabscialis super active pricecialis super activediscount generic cialisgeneric cialisorder cialis professionalcialis professional pricecialis pricecheap cialischeap brand viagrabrand viagraviagra jelly onlinebuy viagra jellyviagra soft tabsbuy viagra soft tabsorder viagra super activebuy viagra super activegeneric viagracheap generic viagraorder viagra professionalbuy viagra professionalorder viagracheap viagra

4 Responses to “Subversion: Managing files among multiple team-members”

  1. Collaborate! (Ruben’s school blog) Says:

    […] Assembla - Although we mainly use Assembla as a server for file-synchronization among groupmembers (SVN/Subversion - I wrote a post about it here), it’s much more meant to be used as a workspace, much like ActiceCollab. Do note that Assembla seems to offer much more of a robust and advanced service, whereas ActiveCollab feels much more polished and easy to grasp. […]

  2. Egbert’s blog on web related stuff » Blog Archive » Setup, of iets dergelijks… Says:

    […] Dan bij deze! Mijn eerste post. Aangezien toch van mij verwacht wordt dat ik enige interresante dingen met mijn medestudenten deel zal ik vandaag eens beginnen met onze setup. Of setup, ik weet niet zeker of dat de goede definitie is. Als iemand suggesties heeft hoor ik het graag. Let us begin!SVN, ik heb het leren kennen en mee leren werken in het afgelopen half jaar tijdens mijn stage. Het is een techniek waarmee een team op een makkelijke manier aan dezelfde bestanden kan werken. Noem het toeval, ons product bestaat uit vrijwel niets dan bestanden! Een ideale combo dus.Nu was het alleen even zoeken naar de ideale SVN-server. Ik heb wat gerommeld met iets lokaals, maar daar werd ik ook niet echt blij van. Laat staan mijn teamleden wanneer ze een keer thuis aan de slag willen gaan of als ik mij in een bestolen/zieke staat zou bevinden. Gelukkig kwam ik op de blog van ex-speakonomiër Ruben de prachtige gratis diensten van Assembla tegen. En binnen enkele minuten was onze repository aangemaakt.Vervolgens de SVN-client. De client die op mijn stage-bedrijf gebruikt werd was Subclipse als plugin binnen de IDE Eclipse. Deze combinatie vond ik beter werken dan alle zelfstandige en geplugde clients die ik later heb geprobeerd. Bovendien bestaat er een stevig verbouwde versie van Eclipse, genaamd Aptana, die een hele reut extra tools en functionaliteiten mee levert om dingen met Ruby on Rails te ontwikkelen (met de plugin RadRails that is). En jawel, noem het wederom toeval, Speakonomy is er één; een heuse Rails-applicatie. Nou moet ik zeggen dat ik wel negatieve berichten over Aptana heb gehoord met betrekking tot de snelheid en stabiliteit, maar toen ik zonder mijn terminal te openen met 1 klik de Speakonomy server aan de praat kreeg was ik om.Als macbook-bezitter (de enige binnen mijn team!) wil ik hier graag nog aan toevoegen dat MAMP toch wel op een hele simpele manier een mySQL server toevoegd aan het geheel, echt een aanrader. Iedereen die bovendien in het bezit is van versie 10.5 van het mac-besturingssysteem beschikt met bovenstaande tools over een complete ruby on rails werkset, want rails is daar al bij mee geleverd.Om samen te vatten:Assembla + Aptana + RadRails + Subclipse (+ MAMP + Mac OS 10.5) = een voorlopig utopia!Mocht dit allemaal iets te snel of bondig zijn gegaan, schroom dan niet mij aan te schieten of een comment te plaatsen, ik kan het wel hebben.  […]

  3. Amanda Says:

    Wow! What a great tutorial! Mind if we link to it from Assembla?

  4. Ruben Says:

    Hey Amanda, no not at all, quite to the contrary, I’d love to see a link to this post on assemba.com :)

Leave a Reply