[SvnBook] #54: Best practice: when and when not to use Subversion

SvnBook noreply at red-bean.com
Fri Aug 10 20:47:04 CDT 2007

#54: Best practice: when and when not to use Subversion
 Reporter:  cmpilato     |       Owner:  nobody       
     Type:  enhancement  |      Status:  new          
 Priority:  normal       |   Milestone:               
Component:  content      |     Version:  nightly/trunk
 Keywords:               |  
 From: Flemming Bjerke <flem at bjerke.dk>

 For me, it was a bit difficult to understand when to use subversion
 because I did not really understand the principle. I, and probably many
 others, would have helped quite a lot if you in the introduction had a
 subsection called: "When and when not to use Subversion"

 Probably, you can make this subsection much better. Feel free to do it.
 But, I think it is important to explain to newbies when Subversion is
 good, and why it is not good for everything.


 When and when not to use Subversion

 Subversion should be used if you have good reasons saving old versions of
 files. One good reason is of course that it is important for you be able
 return to former versions of your files, e.g. you need to be able to find
 deleted files or parts of files. Another good reason is when you are
 several person who share some files and you all change them. Subversion
 will help you keeping record of the changes others (and yourself) have
 made so you can act correctly when such changes have been made.

 But, everything has its price. Since subversion keeps track of changes, it
 has to be told when changes happen. Therefore, you cannot copy, mv, rename
 etc. among your subversion files in the normal way. You have to use the
 special svn commands to do such things. You also need to have a svn
 repository where all the old versions are saved. But, that repository is
 not readable for humans. If the repository is damaged, you risk to loose
 old version of your files. Therefore, it is important that you back up the
 repository. You may use the hot-backup.py script as described in this

 An example illustrates the point. You would like have your datafiles on
 your laptop and your home-pc syncronised. In many cases, you don't care
 about older versions of the files. Therefore, you should use a much
 simpler syncronisation program like unison that has no special repository
 and allows you to do all the normal file manipulations. But, if it is
 important for you to have old versions of certain files (if you write
 articles, a book, software, or whatever) then it is probably a good idea
 to make a svn-repository for these files at your home-pc (or at a server)
 so you can check relevant versions out from your laptop, and your home-pc
 as well.

Ticket URL: <http://svnbook.red-bean.com/trac/ticket/54>
SvnBook <http://svnbook.red-bean.com/>

More information about the svnbook-dev mailing list