Subversion Usage

Development Cycle

the typical development cycle consists of the following steps:

  • Retrieve the changes from other developers with "Update" (may delete local files)

New development:

  • Edit an existing file
  • Check the changed file into the repository by using "Commit"


  • Add a new file or folder in Eclipse
  • mark the new file or folder for addition to the repository with "Add to Version Control"
  • Check the changed file into the repository by using "Commit"

To find out if there are differences between the local work copy and the repository:

  • "Synchronize with Repository" (No changes will be made, neither on the local work copy nor the repository)





Problems and Solutions


1. Refactoring leads to Crash

Eclipse is an excellent development environment that allows functions such as renaming variables across the entire project, even reorganizing the package structure automatically with just one command (refactor -> rename).

Unfortunately, when the project is connected to a subversion repository and subclipse is used in Eclipse, then trying to move a package into a new folder causes Eclipse to crash, and the change cannot be undone other than through checking out the entire repository.



1. FIRST manually add every folder and subfolder in Eclipse that would be created by refactoring

2. add all of these folders to version control

3. THEN refactor



1. Create the new folders in the working copy with the command line and send changes to repository:

svn mkdir foofolder

svn commit

2. Delete the working copy

3. Delete the project in Eclipse

4. Checkput a clean new copy

5. Now refactoring should work, since the folders already exist AND are known to Subversion.