Wednesday, November 4, 2009

Build Automatically Destroys Merge

This afternoon we ran into a serious stumbling block when trying to merge changes up to a branch using svn (in eclipse via subclipse).

The merge would proceed for a while, and then all of a sudden we'd get an error message reading something like this:


org.tigris.subversion.javahl.ClientException: The process cannot access the file because it is being used by another process.
svn: Can't remove file 'C:\cygwin\home\euzuro\dev\TT\Project\war\WEB-INF\lib\some_jar_file.jar': The process cannot access the file because it is being used by another process.
RA layer request failed
svn: Error reading spooled REPORT request response


We tried all sorts of tricks like:

  • restarting Eclipse

  • blowing away our working copy and re-updating from svn

  • trying to track the rogue jar-user down using ProcessExplorer

  • renaming the jar file and restarting the process



...all to no avail. It seemed clear that something in eclipse was using that jar file, but what?

Turns out, the culprit was the "Build Automatically" feature that we had turned on.

By turning "Build Automatically" off and restarting Eclipse, we were able to perform the merge with no errors.

Problem Solved!

Seems simple enough: auto-build process is running, has a lock on the jar, svn tries to delete jar and fails.

What I can't believe is that we are the only people to have ever come across this sort of error. Googling turned nothing up.

Shouldn't subclipse know better?

No comments:

Post a Comment