0
votes

I am trying to write an SVN post-commit hook to update a remote working copy when a commit is made to a specific branch. It should be pretty simple but I am getting a cleanup warning.

Here is my hook

"%VISUALSVN_SERVER%bin\svnlook.exe" dirs-changed %1 -r %2 | findstr "branches/DEV"

If %ERRORLEVEL% EQU 0 (
  "%VISUALSVN_SERVER%bin\svn.exe" update C:\temp\DEV2
)

And this is failing with the following:

post-commit hook failed (exit code 1) with output:
svn: E155004: Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
svn: E155004: Working copy 'C:\temp\DEV2' locked
svn: E200031: sqlite: attempt to write a readonly database (S8)
svn: E200031: Additional errors:
svn: E200031: sqlite: attempt to write a readonly database (S8)

But there are no locks nor anything to clean up--I'm not touching the 'DEV2' working copy. Running VSVN version 2.7.6, Subversion 1.8 on Windows Server 2k8 R2

I have tried permissions changes and hard coding my own svn credentials.

Edit: I tried using the full path to VisualSVN's svn tools. With that setup, I got the "svn cleanup" error. When I did that (just for fun) now the commit hangs for ever...seems like maybe svn update is trying to prompt the user.

1

1 Answers

0
votes

Turns out this needed the --non-interactive flag.

This Paste was useful.