RSE SVN

From Rsewiki
Revision as of 13:25, 7 July 2021 by Jca (talk | contribs) (→‎SVN Access)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

RSE projects are all developmental projects, with ongoing improvement and research.


SVN Access

Mobotware has open read-only access (as of July 2021).

To get access, with update rights, you must have an account on the repository.

On a linux terminal an initial checkout of the (full) mobotware repository could be:

svn checkout svn://repos.gbar.dtu.dk/jcan/mobotware mobotware

(if you need a username for read-only access, use 'anonymous', and any password).

If you have update rights, then commit your changes by:

cd mobotware
svn update
make clean
make
<make changes>
svn commit -m "release remark - what is fixed/added"

The repository username/password is managed by jca@elektro.dtu.dk.

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

SSH Shared keys

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 - old timmy server used as an example):

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.

SVN 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: poo.h 1575 2011-07-03 05:34:42Z jca $ 
*/
#define REVISION "$Rev: 1575 $"
...