SVN
Software Manual
/*===========================================================================*/
Conventions
Check in source files, not targets or intermediates. For example,
don't check in .o files. For latex, check in submitted and
camera-ready PDFs. Every time a large binary object is changed, an
amount of space equal to the size of the object is used. Therefore,
avoid checking in frequent changes to large binary objects. Please
check in frequent changes to source files. This doesn't take much
more space than less frequent checkins and it minimizes the
probability of conflicts or data loss. Check in the source and
target of images in latex projects when some of the collaborators
may not easily be able to
convert from source to target.
/*===========================================================================*/
On Windows:
1) There are multiple Windows subversion clients available (see
http://subversion.tigris.org). Try TortoiseSVN at http://tortoisesvn.tigris.org/.
2) After using the installer, move to the folder you want to put
files in, and pressing the right mouse button on the desktop will
bring up a TortoiseSVN menu. Click on "Export".
3) Give it the URL of the repository and your user name.
svn+ssh://USERNAME@166.111.64.141/mnt/disk1/fserver/svn/REPOS
where both instances of REPOS are to be replaced with the repository
you are interested in checking out and USERNAME is to be replaced
with your account.
4) You may also download the TortoiseSVN and SVN mannual via ftp
service. The files locate in /mnt/disk1/soft/svn.
/*===========================================================================*/
On Linux:
1) If it doesn't come with your Linux distribution, install
subversion (see http://subversion.tigris.org/).
2) Set up the local directory.
mkdir ~/svn
cd ~/svn
3) You should have an account on ziyang.ece.northwestern.edu. Note
that backslashes indicate line continuation. Use the following
checkout command to get the support repository:
svn co \
svn+ssh://USERNAME@166.111.64.141/fserver/svn/support/trunk \
support
replacing USERNAME with your account name.
4) Add the ~/svn/support/bin directory to your path.
5) Subversion doesn't handle symbolic links yet. In addition, there
are sometimes conversions that make sense immediately after
checkout, e.g.,generating EPS files from FIG files. This
initialization is accomplished by repos-init scripts in individual
directories. Cause the initialization scripts to be executed.
repos-init-all
6) From now on, you can save some typing by using the svnco script
in svn/support/bin to check out repositories. For example, if you
wanted to check out the fred repository in the current directory,
you could type svnco REPOS
instead of
svn co svn+ssh://166.111.64.141/mnt/disk1/fserver/svn/REPOS/trunk REPOS
repos-init-all
Also, when you're checking in and updating changes that span
multiple repositories, you can use the 'svnmass' command. That will
find all the top-level repository directories below the current
directory and apply the following command and arguments to those
repositories. For example svnmass ci -m 'Converted scheduler time
representation to floating point.'
7) Take a look at the list of repositories in svn/support/svn-repos.
8) To update, you can use 'svn update'. However, if you want to
automatically re-execute the reposit-init scripts, use the svnup
script. The svnci scipt is similar. It checks in all managed
subdirectories. Go to the the svn directory and type 'svnci' to use
it.
9) 'svn status' should give any complaints. If it does, then please
add the appropriate files to the directory svn:ignore property. Note
that tex intermediates aren't included in the default global
ignores. It's probably best to add "*.aux *.bbl *.blg *.log *.dvi
Howto.list *.toc" to global-ignores in ~/.subversion/config instead
of adding them to the svn:ignore property of each directory.
10) If you change your global-ignores in ~/.subversion/config to
global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* *.aux \
*.bbl *.blg *.log *.dvi Howto.list *.toc then you'll have more
reasonable behavior when using subversion with latex.
11) If you want to checkout a version with a particular date, use
the following syntax: svn co -r "{2006-03-18}" ...
กก