Subversion tricks

2004 Dec 29 at 00:51 » Tagged as :subversion, rcs,

Subversion continues to dig up new tricks from dark recesses up it's sleeve to befuddle the unwary. I ran into another one of these after refactoring some java code.

Some classes that had been placed in a package named com.raditha.colors were moved to com.raditha.ui since the old name was inappropriate and the old package was deleted. Since then subversion refuses to accept commits on this trunk even though it will happily allow me to carry out commits in other projects. The error message goes something like this:

Transmitting file data ........svn: Commit failed (details follow):

svn: Invalid change ordering: new node revision ID without delete

 

As usual there is precious little in google, and the often tried remedy of svn cleanup has no effect either. This is the home remedey that I tried out with success to overcome the problem, hope you find it usefull.

 

  1. Copy the offending folders to another location.

     

     

  2. Make a fresh checkout of the offending folder. Lo and behold you will find that the deleted files still linger.

     

     

  3. Kill them again. and commit the changes.

     

     

  4. Clean up the .svn folders in the files that you backed up in step 1.

     

     

  5. Move the remainder into the space that is under version control.

     

     

  6. do an svn stat and add the files that are marked as not been under version control.

     

     

  7. Do another commit. Viola! the commit is now accepted.