RSE SVN
(→SVN Access) |
(→SSH Shared keys) |
||
Line 52: | Line 52: | ||
and all the rest (including ssh-login to timmy) without being bugged with passwords. | and all the rest (including ssh-login to timmy) without being bugged with passwords. | ||
+ | |||
+ | === Keywords in source file === | ||
+ | |||
+ | You may add SVN keywords anywhere in a source file and set SVN to update the keyword every time a new version is committed. | ||
+ | |||
+ | Add $Rev$, $Id$, $Author$ or $Date$ in the sourcefile, and tell SVN to update the used keywords | ||
+ | |||
+ | $ svn propset svn:keywords "Rev Id Author Date" poo.cpp poo.h | ||
+ | $ svn commit -m "Added keyword update" | ||
+ | |||
+ | Then the file is updated, to something like: | ||
+ | |||
+ | poo.h: | ||
+ | /** | ||
+ | Mobotware sourcefile sample | ||
+ | $Date: 2011-07-03 07:34:42 +0200 (Sun, 03 Jul 2011) $ | ||
+ | $Id: sf9dof.c 1575 2011-07-03 05:34:42Z jca $ */ | ||
+ | #define REVISION "$Rev: 1575 $" | ||
+ | ... |
Revision as of 07:05, 3 July 2011
RSE projects are all developmental projects, with ongoing improvement and research.
For proper version management, backup and sharing, the projects are managed in a central SVN repository, hosted by the DTU Elektro production server Timmy.
Contents |
SVN Access
To get access to the RSE SVN, you must have an account on the timmy server and be a RSE group member.
The SVN is accessed using the svn+ssh protocol, with the following connection string:
svn+ssh://[timmy username]@timmy.elektro.dtu.dk/home/project-users/rse/svnrepo
As the SVN is run through SSH, you will be requested to input your SSH password MANY times, until you have setup your computer with a shared SSH key.
On a linux terminal an initial checkout of the (full) repository could be:
svn checkout svn+ssh://[timmy username]@timmy.elektro.dtu.dk/home/project-users/rse/svnrepo mobotware
and after that you just go to a place in the tree and update from the repository, or commit your changes by:
cd mobotware svn update make clean make <make changes> svn commit
Handling SVN projects
Managing the projects in SVN should be done according to the guidelines in the SVN book[1]. It is really good and usefull reading.
At a prevoius robot-meeting, there was given an introduction for SVN useage.
The slides from the presentation can be found here: Media:SVN_Best_practice.pdf
A great toturial for generating shared SSH keys can be found in the article No More Passwords (with SSH) or password-less login
The method is in short (from your home directory):
ssh-keygen -t rsa ssh-copy-id -i .ssh/id_rsa.pub [timmy_username]@timmy.elektro.dtu.dk
then (after a final password) you should be able to do a (in your svn tree)
svn update
and all the rest (including ssh-login to timmy) without being bugged with passwords.
Keywords in source file
You may add SVN keywords anywhere in a source file and set SVN to update the keyword every time a new version is committed.
Add $Rev$, $Id$, $Author$ or $Date$ in the sourcefile, and tell SVN to update the used keywords
$ svn propset svn:keywords "Rev Id Author Date" poo.cpp poo.h $ svn commit -m "Added keyword update"
Then the file is updated, to something like:
poo.h:
/** Mobotware sourcefile sample $Date: 2011-07-03 07:34:42 +0200 (Sun, 03 Jul 2011) $ $Id: sf9dof.c 1575 2011-07-03 05:34:42Z jca $ */ #define REVISION "$Rev: 1575 $" ...