If I try to update my subversion repo, it says I must run cleanup. If I run cleanup, it says a file is missing. (I deleted a MASSIVE directory of files that failed to commit
Further to Sigurd V's answer (you should try that first), some larger code bases have multiple '.svn' folders, and it's not necessarily the one in the root directory which has the locked task.
If that's the case, you have to check each one. If you've already got SQLite and Powershell you can locate the offending directory quickly.
To find which folders is locked run (replacing path\to\sqlite.exe
):
Get-ChildItem -Path . -Filter '.svn' -Recurse -Hidden | foreach { $toFind = $_.FullName + "\wc.db" ; gci $toFind | foreach { echo $_.FullName ; path\to\sqlite.exe $_.FullName "select * from work_queue" } }
.
This gives a list of .svn directories and, below each one, a list of any current tasks.
If there are any with unfinished tasks, for each one run (replacing path\to\sqlite.exe
and path\to\.svn\wc.db
):
path\to\sqlite.exe path\to\.svn\wc.db "delete from work_queue"