On Wed, 20 Dec 2023 at 16:50, Dmitry Gutov <dmitry@gutov.dev> wrote:
This kind of change is bound to make worse the apparent performance of
vc-annotate with SVN. So it would be great to understand the issue of
the problem first.

Is that a network error? Do you see the same problem with your corporate
repo when calling the respective command in the command line?

Worst case, we could create a user option, to only be used in affected
projects.

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.

--
urban@engbergs.dk5679+MHJ Århus