My project uses SVNKit to checkout files programmatically from one (repo A) and check into another (repo B).
All files in repo A were checked in by Eclipse in advance.
Users designate specific file under specific revision on repo A, and the program will copy it from repo A to repo B.
It works fine most of time, but fails under following condition:
ex:
-
At beginning, i checked in files, ex:
InfoStruc.java, torepo A, and it returns me the revision number (ex:61) -
User selects
InfoStruc.javaon revision 2 to transfer. (In fact, any revision from1~60all fail )
The following error message returned
org.tmatesoft.svn.core.SVNException: svn: E160013: ‘/svntest/arthur/!svn/bc/2/DPS/src/main/java/idv/arthur/work/InfoStruc.java’ path not found: 404 Not Found (http://10.134.231.56)
After many commitment on repo A, the revision of InfoStruc.java increased to 946.
And it still gets error on revision from 1~60, but works fine on 61~946.
My subversion server’s version is 1.6.11.
And SVNKit is 1.7.8.
This is “works as designed”. If
fileinrepowas created at revision 61, you can refer torepo@60and you can refer torepo/file@61but you cannot refer torepo/file@60because, as the error message indicates, that refers to something which did not exist at that revision. It’s not altogether conceptually different from attempting to refer to a file which doesn’t exist.