Commit fails continuously
For about a month ago, I'm getting multiple errors when commiting changes to SVN repository from Eclipse. In particular it happens with the new created files:
org.tigris.subversion.svnclientadapter.SVNClientException: org.apache.subversion.javahl.ClientException: svn: E155011: Commit failed (details follow):
svn: E155011: File '/development/my_project/src/main/java/my/package/enums/EpsgEnum.java' is out of date
at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.commit(AbstractJhlClientAdapter.java:347)
at org.tigris.subversion.subclipse.core.commands.CheckinResourcesCommand$1.run(CheckinResourcesCommand.java:154)
at org.tigris.subversion.subclipse.core.SVNProviderPlugin$6.run(SVNProviderPlugin.java:514)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
at org.tigris.subversion.subclipse.core.SVNProviderPlugin.run(SVNProviderPlugin.java:508)
at org.tigris.subversion.subclipse.core.commands.CheckinResourcesCommand.run(CheckinResourcesCommand.java:119)
at org.tigris.subversion.subclipse.core.SVNTeamProvider.checkin(SVNTeamProvider.java:132)
at org.tigris.subversion.subclipse.ui.operations.CommitOperation.execute(CommitOperation.java:129)
at org.tigris.subversion.subclipse.ui.operations.SVNOperation.run(SVNOperation.java:88)
at org.eclipse.team.internal.ui.actions.JobRunnableContext.run(JobRunnableContext.java:155)
at org.eclipse.team.internal.ui.actions.JobRunnableContext$ResourceJob.runInWorkspace(JobRunnableContext.java:83)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:42)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.apache.subversion.javahl.ClientException: svn: E155011: Commit failed (details follow):
svn: E155011: File '/development/my_project/src/main/java/my/package/enums/EpsgEnum.java' is out of date
at org.apache.subversion.javahl.ClientException.fromException(ClientException.java:117)
at org.tmatesoft.svn.core.javahl17.SVNClientImpl.getClientException(SVNClientImpl.java:1535)
at org.tmatesoft.svn.core.javahl17.SVNClientImpl.commit(SVNClientImpl.java:504)
at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.commit(AbstractJhlClientAdapter.java:339)
... 13 more
Caused by: org.tmatesoft.svn.core.SVNException: svn: E155011: Commit failed (details follow):
svn: E155011: File '/development/my_project/src/main/java/my/package/enums/EpsgEnum.java' is out of date
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:70)
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:57)
at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCommit.doRun(SvnNgCommit.java:286)
at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCommit.run(SvnNgCommit.java:145)
at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCommit.run(SvnNgCommit.java:40)
at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgOperationRunner.run(SvnNgOperationRunner.java:20)
at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:21)
at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1239)
at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
at org.tmatesoft.svn.core.wc2.SvnCommit.run(SvnCommit.java:198)
at org.tmatesoft.svn.core.javahl17.SVNClientImpl.commit(SVNClientImpl.java:502)
... 14 more
But this file is marked to be added to the repository

I have this setting in the Eclipse Preferences:

Nevertheless, it seems that the error es from JavaHL. I don't know why... I always had SVNKit (Pure Java) configured. But I really don't know which one is better.
If I execute the svn command directly from the shell (svn commit -m "my commit"), it works perfectly.
Eclipse version: 2020-12 Subclipse version: latest (4.3.4.202012181213) JavaHL version: latest (1.14.0.202005311413) SVN Kit client adapter version: latest (1.8.12.3) SVN Kit library: latest (1.10.2.r10793) Working under Ubuntu 20.10
Sometimes I get another error, with files that really exists and are up to date in my workspace...
org.tigris.subversion.svnclientadapter.SVNClientException: org.apache.subversion.javahl.ClientException: svn: E155011: Commit failed (details follow):
svn: E155011: File '/development/my_project/src/main/java/my/package/configuration.json' is out of date
at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.commit(AbstractJhlClientAdapter.java:347)
at org.tigris.subversion.subclipse.core.commands.CheckinResourcesCommand$1.run(CheckinResourcesCommand.java:154)
at org.tigris.subversion.subclipse.core.SVNProviderPlugin$6.run(SVNProviderPlugin.java:514)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2292)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317)
at org.tigris.subversion.subclipse.core.SVNProviderPlugin.run(SVNProviderPlugin.java:508)
at org.tigris.subversion.subclipse.core.commands.CheckinResourcesCommand.run(CheckinResourcesCommand.java:119)
at org.tigris.subversion.subclipse.core.SVNTeamProvider.checkin(SVNTeamProvider.java:132)
at org.tigris.subversion.subclipse.ui.operations.CommitOperation.execute(CommitOperation.java:129)
at org.tigris.subversion.subclipse.ui.operations.SVNOperation.run(SVNOperation.java:88)
at org.eclipse.team.internal.ui.actions.JobRunnableContext.run(JobRunnableContext.java:155)
at org.eclipse.team.internal.ui.actions.JobRunnableContext$ResourceJob.runInWorkspace(JobRunnableContext.java:83)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:42)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.apache.subversion.javahl.ClientException: svn: E155011: Commit failed (details follow):
svn: E155011: File '/development/my_project/src/main/java/my/package/configuration.json' is out of date
at org.apache.subversion.javahl.ClientException.fromException(ClientException.java:117)
at org.tmatesoft.svn.core.javahl17.SVNClientImpl.getClientException(SVNClientImpl.java:1535)
at org.tmatesoft.svn.core.javahl17.SVNClientImpl.commit(SVNClientImpl.java:504)
at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.commit(AbstractJhlClientAdapter.java:339)
... 13 more
Caused by: org.tmatesoft.svn.core.SVNException: svn: E155011: Commit failed (details follow):
svn: E155011: File '/development/my_project/src/main/java/my/package/configuration.json' is out of date
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:70)
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:57)
at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCommit.doRun(SvnNgCommit.java:286)
at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCommit.run(SvnNgCommit.java:145)
at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgCommit.run(SvnNgCommit.java:40)
at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgOperationRunner.run(SvnNgOperationRunner.java:20)
at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:21)
at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1239)
at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:294)
at org.tmatesoft.svn.core.wc2.SvnCommit.run(SvnCommit.java:198)
at org.tmatesoft.svn.core.javahl17.SVNClientImpl.commit(SVNClientImpl.java:502)
... 14 more
Uggh .. sorry I forgot to post a reply to this last week when it came through.
I am not sure what the "out of date" error means, but I suspect it is specific to SVNKit in some way as I do not recall native SVN issuing an error like that. I wanted to answer a couple of other things you asked.
- Whenever possible, we recommend using JavaHL as that uses the same native libraries as the SVN command line client so offers maximum compatibility. Depending on your OS, it can be tricky sometimes to get the right native libraries available which is why we offer SVNKit support.
- SVNKit offers an implementation of the JavaHL Java interfaces which is how we use the library. That is why you see JavaHL referenced in the exception name. But if you look at your stack trace you can see it is the SVNKit library that is running and throwing the error.
Given that the SVN command line works, I would expect JavaHL would also work.
I'll try to use Native JavaHL and check if errors dissappears. Thabk you very much
Does exist any problem if I downloaded from SVN repository a project using SVNKit, and after that I change to use JavaHL? Should I download the project from the repository again, or there is no need to do that?
You should be able to just switch back and forth between SVNKit and JavaHL. In theory if SVNKit had a bug where it wrote the database for the working copy incorrectly then you could have problems but I have never heard of a scenario where this has happened.
I have just recently started using Subclipse and and I ran into the same issue using the SVNKit pure java client - it was flagging files as being out of date when they were new, sometimes existing files too. Weirdly when I tried breaking down the commits into smaller ones it would then work suggesting there is some bug somewhere when committing multiple files at once rather with the files themselves.
I tried the above suggestion of using the JavaHL client instead on a failing commit and that seemed to work for me. If anyone else runs into the same issue then I suggest trying this to fix it.