Another small amendment to the svn-book
flem at bjerke.dk
Sat Nov 18 16:38:46 CST 2006
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 book.
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.
More information about the svnbook-dev