On Wed, 20 Dec 2023 at 23:03, Dmitry Gutov <dmitry@gutov.dev> wrote:
When this ends in failure, is there something at the end of the buffer
*Test* that looks like stderr output? The process might not just stop
and return status 1, but it could print something usable as well.

Unfortunately no, the end just looks like this:

  23153         fm
Process xxx<3> exited abnormally with code 1
 
Also, just to be able to separate stderr output more easily, you could
use 'make-process' instead of 'start-process' because it allows to
specify a separate buffer for errors.

Using make-process:

(let ((process-connection-type nil))
  (make-process
   :name "xxx"
   :buffer "*Test*"
   :command (list "svn" "annotate" "FILE")))
 
This fails, just like before. Interestingly, adding 

:stderr "*Stderr*"

to the argument list makes the command *not* fail and *Stderr* thus just contains "Process xxx stderr finished"

There are also some options outlined for trying to get more verbose
output of it here --
https://stackoverflow.com/questions/8416989/is-it-possible-to-get-svn-client-debug-output
-- but it seems like this might only work with some client versions. And
most answers are 5-10 years old.

No, I don't get much more from that. But perhaps interesting as well, I gave the "svn annotate" a "-v" to generate more verbose output. It seems this makes it output the full date on each line of the output. With this option, the process is terminated after just 56 lines, or around 4900 characters – close to what we got before. Could it in some way be that the pipe into the output buffer is closed down prematurely? As again, it doesn't seem that the svn process itself fails, when run in any other way?

--
urban@engbergs.dk5679+MHJ Århus