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.
- checkout all modules into the same directory.
- 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