SVN Developer Info

This is a short overview over SVN intended for DUNE developers. For further information on the tool chain have a look at the Buildsystem Howto.

SVN repository access

Both anonymous checkout and read/write access are all via the same url:
https://svn.dune-project.org/svn/dune-XXXX/ (see Download)

Building DUNE

Each module contains a dune.module file, which describes the modules dependencies. In dune-common one can find a script dunecontrol, which reads the dependency files and builds all modules in the approriate order.

  1. checkout all modules into the same directory.
  2. run ./dune-common/bin/dunecontrol all. This will run autogen.sh, configure and make for each module.

SVN quick reference

Here are the most importent SVN command for a dune developer.

Repository commands

svn checkout [URL] [dest]
Check out a source tree (or a sub tree) from URL and name it dest.
svn commit [-m MESSAGE] [target]
Send local changes to the repository.
Flag -m: supply log message via command line.
CVS: cvs commit [-m MESSAGE] [target]
svn update [-r REVISION]
Merge repository changes into local tree.
Flag -r: update to REVISION
CVS: cvs update -dP [-r REVISION]

Status commands

svn status [-u]
Recursively show local changes.
Flag -u: also show out-of-dateness information from repository.
CVS: cvs -n update
svn log [TARGET]
Show log messages for TARGET (file or directory).
CVS: cvs log [TARGET]
svn diff [-r REVISION1[:REVISION2]] [FILE]
Show diff between local version and REVISION1 of REVISION! and REVISION2.
CVS: cvs diff [-r REVISION1] [-r REVISION2] [FILE]

File commands

svn add [FILES]
Add FILES to repository.
CVS: cvs add [FILES]
svn mkdir [DIR]
Create new directory DIR in the repository.
CVS: mkdir [DIR]; cvs add [DIR]
svn move [ORIGIN] [DEST]
Moves ORIGIN files/directories to DEST destination.
This command is equivalent to svn copy and svn delete.
CVS: cp [ORIGIN] [DEST]; cvs add [DEST]; rm [ORIGIN]; cvs rm [ORIGIN]
svn rm [FILES]
Delete FILES from the repository.
CVS: rm [FILES]; cvs rm [FILES]

Other commands

svn switch --relocate [OLDURL] [NEWURL]
Change the URL of the corresponding svn repository
CVS: cvschroot [NEWROOT]
svn propedit svn:ignore [DIR]
List of files which are not handled by the version control system.
CVS: edit DIR/.cvsignore

Further SVN links

Last Change: Apr 18 2007 23:24 by Christian Engwer