My favorites | Sign in
Project Logo
                
Search
for
Updated Apr 15, 2008 by max.at.x...@gmail.com
Labels: Featured
Subversion  
Managing source code with Subversion (svn)

Ideal process

  • Update
  • Check that it runs (JUnit tests)
  • Commit with a short meaningful comment

svn can also work inside Eclipse.

How to use subversion well:

  • Think what to put in svn and what not. It's impossible to remove things forever.
  • by default: src should be in svn, target should be svn-ignore
  • Always synchronise instead of commit (first see, then act)
  • Checkin only a classpath with relative references
  • Use commit messages :-)
  • check that it compiles and JUnit test run
  • use the same code format style
  • if you have a conflict: make sure not to overwrite something (mark as merged)

Using SVN from Eclipse - needs a plugin

  • Plugin 1: Subclipse (from Tigris, works well with svn)
    • preferences > "SVN", choose pure Java (instead of JNI)
  • Plugin 2: Subversive (from Polarion)

Using SVN on the command line

Enter into the directory of the Eclipse project and write "svn command". The important commands are:
  • svn up: update: download the new files
  • svn log: show the revision history
  • svn diff: show the difference between our files and the files at the server
  • svn ci: commit: upload our changes. It opens an editor, where we can write a short message

To reload maven dependencies:

  • Has nothing to do with svn, just call "mvn compile"

Maven and Subversion

Add /target to svn.ingnore

Problems with Subversion

User/pass don't work

You can check out anonimously, but to check in you need:

If these don't work, check that you're using https://...* as the repository's URI, and not http://...* (you can't check in per HTTP).

If you had started with a http URI in Eclipse and you want to change to a https, you can do the following:

  • enter at the directory
  • write "svn info" to see the project's URI
  • write "svn switch --relocate oldURI newURI". For instance, I wrote that for swecr.core:
svn switch --relocate http://swecr.googlecode.com/svn/trunk/org.semanticdesktop.swecr.core https://swecr.googlecode.com/svn/trunk/org.semanticdesktop.swecr.core
  • that should work and Subclipse should detect the change

undo committed changes that are long ago

see http://svnbook.red-bean.com/nightly/en/svn.branchmerge.commonuses.html#svn.branchmerge.commonuses.undo (via Christian)


Sign in to add a comment
Hosted by Google Code