Difference between revisions of "Subversion"

From HCL
Jump to: navigation, search
(Subversion for Users)
(RapidSVN, Gforge & passwords)
Line 35: Line 35:
 
Install sshpass >=1.05 (note ubuntu 11.10 usese version 1.04 which just hangs - so install from sources or Ubuntu 12.4)  
 
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:
+
edit ~/.subversion/config, in [tunnels] section add the line:  
 +
 
 
  gforge = sshpass -f{path to file holding password} ssh -o PubkeyAuthentication=no -o ControlMaster=no  
 
  gforge = sshpass -f{path to file holding password} ssh -o PubkeyAuthentication=no -o ControlMaster=no  
  
 
Then check out with:  
 
Then check out with:  
 +
 
  svn checkout svn+gforge://<user>@gforge.ucd.ie/var/lib/gforge/chroot/scmrepos/svn/fupermod/trunk fupermod  
 
  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)
+
 
 +
(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>

Revision as of 10:55, 15 June 2012

http://svnbook.red-bean.com/

  • Subversion clients work with .svn directories - don't remove them.
  • Mind the version of the client (currently, 1.5, 1.6).

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

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. 

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>