I agree, absolutely. This was just how far I had been able to do my analysis – and I thought it might be helpful to others diagnosing the problem.
I have done some more debugging am able to get as far as this snippet (from the function vc-do-command with arguments unfolded, when okstatus is 'async):
(let ((process-connection-type nil))
(start-file-process
"svn"
(get-buffer "*Annotate Program.java (rev 23283)*")
"svn"
"--non-interactive" "annotate" "/home/.../Program.java"))
When I run this command directly in Emacs (using eval-defun), around the first 100 lines of the svn output is written to the *annotate* buffer, after which I get the output
Process svn exited abnormally with code 1
written to the buffer. If I set process-conection-type to t instead, the process finishes without problems.
The svn command is run against an SSH-server inhouse and the annotate-command takes around 1 second when run from my shell, and I haven't seen it fail.
I run svn version 1.14.2.
If you have any ideas of what I should do from here, I'd be happy to assist.