How to use Subversion
Get a repository
The Subversion repositories are stored and accessible on
https://svn.iac.ethz.ch. You can ask for a
user repository which will be only accessible by you. Or you can ask for a
project repository which can be accessible by other users too. If your repository should be accessible without authentication (anonymous read access) ask for a
public repository. Send a mail to
urs.beyerle@env.ethz.ch to ask for a new repository.
For a
project and public repository the following information is needed:
- (Folder) name of the repository.
- Usernames of the users that have access to the repository. You may want to distinguish between read and write access.
- For external users (not ETH members), please provide their name, email address and a possible username.
It's possible to enable
email notification for repositories. If enabled, the users will get an email in case something was changed in the repository (file added, file modified, etc).
Location of repositories
- Repositories can be found under https://svn.iac.ethz.ch/repos/
- The repositories are located in following folders
- users: Repositories related to a IAC user (only the owner will have access to his repository)
-
https://svn.iac.ethz.ch/repos/users/username
- this is the standard repository for a user
- projects: Repositories related to a project (several users may have access to these repositories)
-
https://svn.iac.ethz.ch/repos/projects/projectname
- each project has its own repository
- pub: Public repositories which can be read by everybody (anonymous user)
-
https://svn.iac.ethz.ch/repos/pub/projectname
- each project has its own repository
Browse the repositories
You can browse the repositories with a normal web browser. Two different views are available:
- View with WebSVN, which offers diff view, colorization of file listings, blame view, log message searching, RSS feed support and more.
- Classic view of repositories
Subversion clients
- Linux: svn command line tool.
- Windows: TortoiseSVN download at tigris.org
- Mac: SvnX
Access the repositories with WebDAV
With WebDAV you can access the repository like a normal file system. If you remove, add or modify a file, a new revision of your repository is automatically created.
- Linux: Use konqueror and point it to
webdavs://iacsvn.ethz.ch/repos/path_to_your_repo
- Windows: Use Internet Explorer
Email notification
- It's possible to setup email notification for a repository. In case you would like to enable email notification contact iac-it@env.ethz.ch
Working with Repositories using svn command
- To show information about your checked out repository
svn info
- View the status of your working copy
svn status
svn st
- It's highly recommended to use instead of the Linux file commands (rm, mv, cp) the svn commands to delete, rename ore copy files!
- Delete a file
svn delete testfile
- Rename a file
svn mv oldfile newfile
- Everything you do a check-in the revision number of your repository is increasing by one.
- Update your local copy against the repository on the server
svn update
svn up
- You may want to see first what will be updated (use svn status with -u option)
svn st -u
- Restore
<file>
to version stored in the repo (un-do local edits in your working copy)
svn revert <file>
- Restore
<file>
to an older revision, for example revision 100:
svn up -r 100 <file>
- Go back to an older revision, for example revision 80:
svn up -r 80
or to the status of a specific date, for example 2010-01-15
svn -r {2010-01-15} up
- List the Logs
svn log
Only list logs for a specific file
svn log <file>
For more info about common tasks see
http://svnbook.red-bean.com/en/1.4/svn.tour.cycle.html
Important note about security
Per default the Linux svn client is caching your password. This can be quite useful, since you don't have to type in your password every time you check out or commit a change. However, the password is stored in
cleartext. Per default the folder storing the password
~/.subversion/auth
is only readable by you. You should definitely not change this.
Nevertheless, I would recommend to
disable the password caching of the svn command completely by uncomment the following line in your
~/.subversion/config
file.
store-passwords = no
Afterwards, remove all stored svn passwords with
rm ~/.subversion/auth/svn.simple/*