[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Incomplete output from "cvs annotate"

From: Andreas Schwab
Subject: Re: Incomplete output from "cvs annotate"
Date: Mon, 19 Jan 2004 13:19:23 +0100
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3.50 (gnu/linux)

address@hidden (Kim F. Storm) writes:

> In latest CVS emacs on GNU/Linux (redhat9.0), I noticed that the following
> sequence: 
>         C-h C-n         (open NEWS)
>         C-x v g         (annotate it)
> produces a very incomplete annotate buffer (approx 2/3 of the output is 
> missing).
> So the big questions are -- and this is where I'm stuck:
>         What is so special with cvs annotate and call-process?

Nothing, it can happen with any cvs command over ssh (you can get partial
checkins, for example).

>         Why is the pipe opened by call-process -- and which cvs (as
>         well as my wrapper around cvs) writes to -- in non-blocking
>         state?

See <http://mail.gnu.org/archive/html/bug-cvs/2002-07/msg00423.html>.  The
problem is that ssh makes stderr non-blocking and Emacs connects stdout
and stderr together, so that stdout becomes non-blocking as well.
Workaround is to separate stdout and stderr again, eg. by using this
script as CVS_RSH:

exec 2> >(exec cat >&2 2>/dev/null)
exec ssh "$@"


Andreas Schwab, SuSE Labs, address@hidden
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

reply via email to

[Prev in Thread] Current Thread [Next in Thread]