I\'m trying to svn update
my SVN working copy with TortoiseSVN but the update fails, asking to perform the clean up first.
However, the svn cleanup
I solved this by
Creating an empty file /workingdirectory/.svn/pristine/da/da39a3ee5e6b4b0d3255bfef95601800afd80009.svn-base
Run svn cleanup
This will do it too as a one-liner:
while [ 1 ] ; do OUTPUT=`svn cleanup 2>&1 | sed 's/^.* open file //' | sed 's/:.*$//' | sed "s/'//g"`;if [ "X${OUTPUT}" == "X" ] ; then break; fi; echo $OUTPUT;touch $OUTPUT;done
This problem:
cannot find the file .svn\pristine\24\24fd530d4bd82341fb514ab912c9e10adbc4ad89.svn-base
I copied a svn-base from other file and renamed this with 24fd530d4bd82341fb514ab912c9e10adbc4ad89.svn-base. And perform a clean up operation. After that I met another file missing. Using the same way, and at last I fixed this problem.
From a Windows command line with SilkSVN installed:
cd project directory
svn status
This will generate an error. Select and copy the directory and filename text then paste:
echo > .svn\pristine\<paste>
For example:
echo > 24\24fd530d4bd82341fb514ab912c9e10adbc4ad89.svn-base
With this knowledge in hand, it would be reasonably trivial to write a batch file that can fix these problems automatically for everyone. The svn command will generate an %ERRORLEVEL% value that can be checked for failure.
I got away by replacing the .svn directory with the same from a freshly checked-out copy. Fortunately for me, the local copy was on the same revision as the repo. Not sure what the implications would be if it was not the case.
For me the file was there but had (1) appended to the name. (A copy) ff4c7be3da460bb91144d6761cc5743536c983f4 (1).svn-base
I removed the "(1)" and cleanup ran fine ff4c7be3da460bb91144d6761cc5743536c983f4.svn-base
You can use SmartSVN to restore lost pristine file.
Download and install it. It's not free but 30 days free trial should be enough to repair your repository.
Open your working copy in SmartSVN. To repair, select Modify > Validate Admin Area...
Enjoy!