HOW-TO tortoise SVN

I like to use SVN and specially their client for Win XP TortoiseSVN. But still didn’t use all the functionality which it gives. Here is very nice tutorial done by BEA.

In Mac OS X I like the scplugin which looks similar as tortoiseSVN. And of course you can use Eclipse and their subversive or subclipse.

Because I didn’t know what is the difference between tagging and branching here some thoughts I have found:

  • tag:
    • you can name it as you want aka release_1.0
    • it will take snapshot of all files and their revision number
      • CVS will increase revision number for file(s) we are committing to repository, so we have to somehow keep information of all revision numbers of all files.
      • SVN A tag is just a “snapshot” of a project in time. In Subversion, this idea already seems to be everywhere. Each repository revision is exactly that—a snapshot of the filesystem after each commit. Advantage of having tag command in SVN is that you can put name like release_1.1 instead of 673.
  • branch
    • when your software goes to production, tag it.
    • then you continue programing. But during time, customer finds some bugs. So what to do ? Just checkout on to some other folder your code but with revision/tag name release_1.0. You will get your code which customer has and you can repair it, commit it back to your “release_1.0” revision and delivered the build to customer
    • Next you will repair your code in your HEAD revision.
    • Branches allows you to work on code which was already delivered

Tag & branches

Tag – si zapamatuje jakou revizi maji konkretni soubory/adresare (takze pak nemusis mu rikat soubor po souboru ze chces soubor1 s revizi 1.2 a soubor2 s reziviz 1.5 atd..)

Branch – potrebujes opravit chybu ale ty mas uz svuj vyvoj zase dal a nemuzes ted udelat release protoze to mas cele rozdrbane. Tak si udelas branch na verzi kterou jsi si o tagoval “release1” (tenhle kod ma i zakaznik) a udelas opravu chyby. Pak muzes chybu MERGEnout do truncu nebo nechat opravu jen v branchi

Rozdil mezi CVS a SVN

Pri commitu v SVN se taguji vsechny soubory, kdezto v CVS ne. (Kdyz udelas commit v SVN tak se o taguji vsechny soubory i ty co nejsou zmenene). Z toho vyplyva ze SVN taguje automaticky.
CVS to explicitne prikazat aby o tagoval.