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.
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
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
Thank you !!!
Very helpful, thx!
Yes very thanks, it’s help me also.
Well wrote also.
Thank you !!!!! :o)))
Thank you for this article! It helped me much!
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.
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
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!
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.
Thanks, I was confused with this one.
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…
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.
It was very helpfull to me because I got the same problem.
Thanks