1

My SVN repo is running into problems when updating. It's complaining that I should clean it up ("Previous operation did not finish"). I ran the cleanup in the root folder and selected the checkboxes as suggested here. During the clean up process, it reports the following failure:

Cleanup failed to process the following paths:
B:\xxx
Failed to run the WC DB work queue associated with
'B:\xxx', work item 17399 (file-install 60 .../SniffPass.exe 1 0 1 1)
Can't open file
'B:\xxx\.svn\pristine\42\424...b0e.svn-base':
The system cannot find the file specified.

The mentioned file probably does not exist any more because the virus scanner deleted it, since it contained a copy of the NirSoft SniffPass tool which was considered dangerous. It is not dangerous to me, since I know this repository contains all sorts of debugging and security tools. I have now excluded the directory from virus scanning.

I accidentally found the missing file in a backup copy and putting it into the expected place solves the issue. That's great so far.

However, this issue happens with several other files as well.

How would I repair this repo and restore all the missing files? Neither the cleanup process nor the update process will simply download it. I'd not like to clone the entire repo as suggested here, since it's 11 GB in size.

Thomas Weller
  • 55,411
  • 20
  • 125
  • 222

1 Answers1

0

As far as I understand, your virus scanner removed a file from the working area (B:\xxx) and from the pristine area (B:\xxx\.svn\pristine\). You can try restoring all the removed files from backup. If they are missing in backup, then I don't think there is an easy way to manually repair your working copy.

I would recommend checking out a fresh working copy and exclude it from antivirus scanning.

bahrep
  • 29,961
  • 12
  • 103
  • 150
  • You mean I should copy all the `.svn\pristine` files from the backup to the SVN? Or how would I find out which files are missing? SVN needs 2 operations `svn update` and `svn cleanup` to report one missing file – Thomas Weller Nov 05 '21 at 15:28
  • @ThomasWeller 1. create a copy of your current SVN working copy (the one which is corrupt). This is needed as a precaution to ensure that you don't make things worse. 2. copy all contents of B:\xxx\.svn\ from backup atop the .svn directory in the new working copy. Run `svn cleanup` when copy is complete. – bahrep Nov 05 '21 at 15:41
  • Hmm, it didn't really go well. I copied all the `.svn\pristine` files first (~9000), just to find out that it complains about files in the working directory next. I also copied those, but in the end is still downloaded ~900 MB from the server. I don't think it was worth all the effort and I should simply have checked out the repo over night again. – Thomas Weller Nov 05 '21 at 19:49