Difference between revisions of "Subversion"
 (→RapidSVN, Gforge & passwords)  | 
				 (→RapidSVN, Gforge & passwords)  | 
				||
| Line 27: | Line 27: | ||
== RapidSVN, Gforge & passwords  ==  | == RapidSVN, Gforge & passwords  ==  | ||
| − | + | <strike</strike>    | |
| − | '''  | + | '''Problem:''' RapidSVN doesn't directly support svn over ssh and so doesn't remember ssh passwords. And  <strike>gforge.ucd.ie appares not to support passwordless authentication with publickey</strike>. There was a bug in the cron job that updated the keys.<strike></strike>   | 
| − | + | '''Solution:'''   ssh gforge.ucd.ie   | |
| − | + |   chmod 700 .ssh   | |
| − | + | And add your key (.ssh/id_rsa.pub) to http://gforge.ucd.ie/   | |
| − | + | (and wait for cron job to add it, or do it manually)  | |
| − | + | <strike>'''Solution:''' Use sshpass to remember password.</strike>   | |
| − | + | <strike>Note: this method involves having your gforge password in plain text, and so is a potential security risk - it should be different to other passwords etc.</strike>   | |
| − | + | <strike>Install sshpass >=1.05 (note ubuntu 11.10 usese version 1.04 which just hangs - so install from sources or Ubuntu 12.4)</strike>   | |
| − | + | <strike>edit ~/.subversion/config, in [tunnels] section add the line:</strike>   | |
| − |   svn switch --relocate svn+ssh://<user>@gforge.ucd.ie/<old url> svn+gforge://<user>@gforge.ucd.ie/<new url>  | + |   <strike>gforge = sshpass -f{path to file holding password} ssh -o PubkeyAuthentication=no -o ControlMaster=no   | 
| + |  </strike>  | ||
| + | |||
| + | <strike>Then check out with:</strike>   | ||
| + | |||
| + |  <strike>svn checkout svn+gforge://<user>@gforge.ucd.ie/var/lib/gforge/chroot/scmrepos/svn/fupermod/trunk fupermod   | ||
| + |  </strike>  | ||
| + | |||
| + | <strike>(where previously it was: svn checkout svn+ssh)</strike>   | ||
| + | |||
| + | <strike>To change an existing working copy</strike>   | ||
| + | |||
| + |  <strike>svn switch --relocate svn+ssh://<user>@gforge.ucd.ie/<old url> svn+gforge://<user>@gforge.ucd.ie/<new url></strike>  | ||
Revision as of 16:26, 1 November 2012
- Subversion clients work with 
.svndirectories - don't remove them. - Mind the version of the client (currently, 1.5, 1.6).
 
Contents
Repositories
To submit
- Software sources: models, code, resource files
 - Documentation sources: texts, diagrams, data
 - Configuration files
 - Test sourses: code, input data
 
Not to submit
- Binaries: object files, libraries, executables
 - Built documentation: html, pdf
 - Personal settings: Eclipse projects, ...
 - Test output
 
Subversion for Users
A good cross platform client: RapidSVN, combined with Meld a visual diff and merge tool.
RapidSVN, Gforge & passwords
<strike</strike>
Problem: RapidSVN doesn't directly support svn over ssh and so doesn't remember ssh passwords. And  gforge.ucd.ie appares not to support passwordless authentication with publickey. There was a bug in the cron job that updated the keys. 
Solution: ssh gforge.ucd.ie
chmod 700 .ssh
And add your key (.ssh/id_rsa.pub) to http://gforge.ucd.ie/
(and wait for cron job to add it, or do it manually)
Solution: Use sshpass to remember password. 
Note: this method involves having your gforge password in plain text, and so is a potential security risk - it should be different to other passwords etc. 
Install sshpass >=1.05 (note ubuntu 11.10 usese version 1.04 which just hangs - so install from sources or Ubuntu 12.4) 
edit ~/.subversion/config, in [tunnels] section add the line: 
gforge = sshpass -f{path to file holding password} ssh -o PubkeyAuthentication=no -o ControlMaster=no
Then check out with: 
svn checkout svn+gforge://<user>@gforge.ucd.ie/var/lib/gforge/chroot/scmrepos/svn/fupermod/trunk fupermod
(where previously it was: svn checkout svn+ssh) 
To change an existing working copy 
svn switch --relocate svn+ssh://<user>@gforge.ucd.ie/<old url> svn+gforge://<user>@gforge.ucd.ie/<new url>