I am trying to check out a full subversion repository including all branches and tags:
svn co svn+ssh://path/to/project
This runs for a while, but during the checkout of a branch I get the following error:
svn: Your .svn/tmp directory may be missing or corrupt; run 'svn cleanup' and try again
svn: Can't open file 'project\branches\BRANCH\source\java\com\bS\.svn\tmp\text-base\Event.java.svn-base': The system cannot find the path specified.
So I tried to checkout the branch manually by doing:
svn co svn+ssh://path/to/project/branches/BRANCH
This runs fines and I get the branch. I can then copy the branch into the branches directory of the full project and continue with the checkout. But it keeps running into this problem on other branches.
Does anyone have any idea why I can’t checkout the branch as part of the overall project, but I can check it out on its own?
Ok, so I have actually found the answer to my own question, well at least the solution. It turns out that it is to do with the length of the path. In my question above I edited the path name to not post details of company’s code, but in reality it happened to be a file with a very long name and it lived in quite a deeply nested directory.
When I was checking out the branch on its own I was checking it out into a higher level directory in my hard drive and it was working. I tried checking out the branch on its own directly into the branches directory I had created for the project and it also failed, so I guess it must have had something to do with the path.
I am now checking out the entire project into D:\ProjectDir and everything seems to be going a lot more smoothly. I guess there is a limit in subversion to the length of a path and so it was failing to get some of the required files.
*Update: the limit is 255 characters. It turned out that in my case the path was 269 characters. So just going up 1 directory level was enough to get around the problem.