svn: Out of date in transaction

On one project I’m using the Eclipse IDE with the subclipse plugin to enable subversion directly in the IDE. This setup is new to me within the last year, and I’m still learning about it.

I like the fact that my files get a little gold medal icon on them in the Eclipse Navigator when they are in source control and match the repository version – at a glance, I know what files have been modified and what changes need to be committed. For a nicely organized project, where all files in a subdirectory are either in version control or have been ignored via svn:ignore, the folder itself gets a little gold medal when everything in that folder is committed and matches the repository. Thus, the status of an entire project can be seen by glancing at its root project folder.

If a file has been modified locally, it gets a little brown asterisk. It is nowhere near as pleasing as a gold medal, and it encourages me to commit changes when I’m ready to do so. Today, however, some subfolders in my project still had the little brown asterisk even though everything in that folder was in sync with the repository.

So, I right-clicked on the folder itself and selected Team->Commit…

This action is a bit strange to me, because I’m not completely sure what it means to commit a directory. With Subversion, I believe it means that I am committing any information relative to that directory, such as what files in that directory should be ignored. In Subclipse, the commit operation simply shows the path to the folder with “Property Status” listed as “modified”.

The commit causes an error. In the Subversion dialog box, it looks particularly nasty, something like this:

org.tigris.subversion.javahl.ClientException: Transaction is out of date

svn: Commit failed (details follow):

svn: Out of date: ‘/path/to/folder’ in transaction ‘xxx-x’

where xxx-x is the transaction number.

I happened to run across this discussion of the problem that contained these useful tidbits of information:

a) “The directory is not at the latest revision, hence you cannot commit changes to it. Simply “svn update”

b) “the error message is not as helpful as it might be. Once you know what it means then of course it is very obvious, but the first time evidently it is not.”

The solution to this error message is to simply right-click on the folder, choose “Team->Update”, then right-click again and do “Team->Commit” and it will then work.

15 Responses to “svn: Out of date in transaction”


  1. 1 I love Unicorns. Aug 8th, 2006 at 4:12 pm

    I just wanted to leave you a comment letting you know that this was a really useful article and after spending a bit of time and frustration with the issue I was glad to run across this article. Thanks again and know that your time effort in documenting frustrations is greatly appreciated.

    annonProgrammer8675309

  2. 2 Xdrummer Sep 19th, 2006 at 2:30 am

    Thank you, thank you, thank you!!!!
    This problem has been driving me crazy the last few weeks. I was cursing Subclipse like Lucifer himself. Thank you for your help.

    Xdrummer

  3. 3 Artiom Lunev Dec 17th, 2006 at 6:23 am

    Thank you !!!

  4. 4 mitjok Jan 26th, 2007 at 3:54 am

    Very helpful, thx!

  5. 5 TO Feb 1st, 2007 at 7:24 am

    Yes very thanks, it’s help me also.
    Well wrote also.

  6. 6 lilian Feb 14th, 2007 at 6:04 am

    Thank you !!!!! :o )))

  7. 7 ivko Mar 29th, 2007 at 3:29 pm

    Thank you for this article! It helped me much!

  8. 8 Stephen Apr 4th, 2007 at 3:12 pm

    As the first one in April 2007 to use Google to stumble upon this quick fix, I thank you. I use Eclipse to handle SVN with a decent PHP IDE on top, and this quick fix saved my sanity. Many thanks.

  9. 9 Paul Apr 15th, 2007 at 3:39 am

    Thanks from me as well — and I don’t even use Eclipse. Translation for command-line users:

    svn: Commit failed (details follow):

    svn: Out of date: ‘/project/dir’ in transaction ‘168-1′

    $ cd dir; svn up; cd ..

    $ svn ci

  10. 10 desimo May 9th, 2007 at 6:50 pm

    This article helped me as well. In the next version of svn the error message should add a tidbit:

    svn: Commit failed (details follow):
    svn: Out of date: ‘/project/dir’ in transaction ‘168-1′
    svn: Your msg is in a tempfile etc. etc.
    svn: Run svn update before trying to commit again

    On second thought, it becomes abundantly obvious what the orig. error message means after you’ve realized what is the problem…

    Thanks!

  11. 11 Tico May 25th, 2007 at 4:52 pm

    Note that this ‘Out of date’ can also happen if their are uncommitted deletions somewhere in your repository. I was trying to tag a release and ran into this problem. In this case, update alone won’t help. First commit the deletions, then the update will work.

  12. 12 BTL Jul 15th, 2007 at 5:05 pm

    Thanks, I was confused with this one.

  13. 13 Samer Jul 23rd, 2007 at 11:06 pm

    Wow thank you soo much, I was getting frustrated and wasn’t sure what was going on, this is my first project where I’ve used svn in eclipse, let alone a code repository. is out of date…

  14. 14 Jeremy Oct 1st, 2007 at 12:39 pm

    For those of you who would like to know how to fix the problem instead of using this hack please take a look at the following page: http://subversion.tigris.org/faq.html#wc-out-of-date

    It turns out that you will get this error if, imagine this, your files are actually out of date. You can remedy this by right-clicking on your current working copy and clicking “Update”. Once you’ve done this you will be able to commit further changes.

  15. 15 King Cyril Oct 19th, 2007 at 7:44 am

    It was very helpfull to me because I got the same problem.
    Thanks :-)