Blind Squirrel

Once in a while, even a blind squirrel finds a nut.

Subversion: File or Directory Is Out of Date; Try Updating

I recently started encountering a strange problem with Subversion on one of my machines. In larger commits, I would suddenly get an error:

1
2
3
4
5
$ svn ci -m "My commit message."
Sending        src/Foo.java
svn: Commit failed (details follow):
svn: File or directory 'src/Foo.java' is out of date; try updating
svn: resource out of date; try updating

Although I was positive the file(s) were up to date, I ran an svn up just to be safe:

1
2
$ svn up
At revision 10803.

Nothing changed. If I tried to commit again, I would get the same out of date error. Eventually I figured out that if I delete the folder containing the problematic file, ran svn up to restore the working copy and re-edited (or restored from a backup) the modified file, the problem went away. This suggested an issue with the Subversion metadata, but this blog post from Pageworthy describes a much easier work around:

Delete the all-wcprops file from the .svn metadata folder for the offending file.

In other words, if Subversion complains about src/com/mycompany/Foo.java, then delete src/com/mycompany/.svn/all-wcprops.

  • OS: Mac 10.6
  • IDE: Eclipse 20090920-1017
  • Subversive Team Provider: 0.7.8
  • Subversive Connectors: 2.2.1
  • SVNKit 1.3.0: 2.2.1
  • Subversion: 1.6.6