[chora] Trouble with annotate view

Tim Dodge timmy@invisibles.org
Tue, 16 Jul 2002 22:23:15 +0100


Quoting Anil Madhavapeddy <anil@recoil.org>:

> ok ... you need to try the 'cvs server' command as user www
> then.
> 
> The exact format can be gleaned pretty easily from the
> CVSLib/annotate.php file:
> 
> http://cvs.horde.org/co.php/chora/lib/CVSLib/Annotate.php?r=1.11
> 
> Inspect the contents of $out towards the end of the doAnnotate()
> function.
> 
> Anil

I'm no php programmer (yet), so I'm not sure how to inspect the value of
$out[]... I did try and follow the code by entering:

cvs -n -l server >/tmp/chora.tmp

and then entering the $out[] array, a line at a time. I'm guessing that
$rev is something like:

    1.2

and $where is something like:

    CVSROOT/notify

So that the while loop reduces to:

    Directory CVSROOT
    /home/cvs/CVSROOT

I'm not sure how to close the server from the command line - a few
newlines seemed to do it, but then the screen filled with the following
line repeated 100's(?) of times:

cvs: buffer.c:1370: stdio_buffer_shutdown: Assertion `fstat ( fileno
(bc->fp), &s ) != -1' failed.

and then a seg fault.

chora.tmp contained:

E
E Annotations for CVSROOT/notify
E ***************
M 1.1          (cvs      09-Jul-02): # The "notify" file controls where
notifica
tions from watches set by
M 1.1          (cvs      09-Jul-02): # "cvs watch add" or "cvs edit" are
sent.
The first entry on a line is
M 1.1          (cvs      09-Jul-02): # a regular expression which is
tested agai
nst the directory that the
M 1.1          (cvs      09-Jul-02): # change is being made to, relative
to the
$CVSROOT.  If it matches,
M 1.1          (cvs      09-Jul-02): # then the remainder of the line is
a filte
r program that should contain
M 1.1          (cvs      09-Jul-02): # one occurrence of %s for the user
to noti
fy, and information on its
M 1.1          (cvs      09-Jul-02): # standard input.
M 1.1          (cvs      09-Jul-02): #
M 1.1          (cvs      09-Jul-02): # "ALL" or "DEFAULT" can be used in
place o
f the regular expression.
M 1.1          (cvs      09-Jul-02): #
M 1.1          (cvs      09-Jul-02): # For example:
M 1.2          (timmy    14-Jul-02): ALL mail -s "CVS notification" %s
ok
error  unrecognized request `'
error  unrecognized request `'
error  unrecognized request `'
error  unrecognized request `'
error  unrecognized request `'
error  unrecognized request `'
error  unrecognized request `'
error  unrecognized request `'
error  unrecognized request `'
error  unrecognized request `'
error  unrecognized request `'
E cvs server: dying gasps from client unexpected

Which starts off looking right...

I'm guessing chora has picked up the very first E only, and that the
errors at the end correspond the the newlines it took to close the
server on the command line?

As I said, this is running as my www user, and I can confirm that the
same file in annotate view gives the following error:

Unable to annotate; server said: E

Regards,
Tim