[Top][All Lists]

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

Re: Is there really any interest in a patch to allow cvs 1.11.6

From: Larry Jones
Subject: Re: Is there really any interest in a patch to allow cvs 1.11.6
Date: Mon, 6 Oct 2003 17:48:20 -0400 (EDT)

Kelly F. Hickel writes:
> At the end of the main() routine, err has a value of 1, so it's exiting
> with a failure status.  Before I go digging (no debugger here, at least
> not one that I have any skills with), does anyone have any great tips?
> (like: "turn on the super-secret cvs magic-debug log file"????)

No, whoever is returning a failure status is expected to output an
explanitory message to go with it -- that apparently isn't happening in
this case.

> Before I go too wrong, it's my understanding that cvs no longer uses an
> external diff program, but that it has that code built into it.  This
> belief is why I haven't attempted to replace the native diff (which
> seems to work OK) with gnu diff or something.  If I'm wrong, that could
> explain the problem.

You're not wrong.  I'm afraid you're going to have to dig down through
the diff code to figure out where it first fails.  The general scheme of
things is that diff() (in src/diff.c) calls start_recursion() to go
through all of the specified files/directories.  It then calls various
callback routines (also in src/diff.c) to process each file/directory in
turn.  The most interesting callback routine is diff_fileproc() which
does the individual diffs, usually by calling diff_exec (src/rcscmds.c)
which then calls call_diff (ditto), which finally calls diff_run()
(in diff/diff.c).  The problem is most likely somewhere in this main
path, but it's entirely possible that it's in one of the minor
subsidiary functions instead.  Adding a few judicious printf's should
let you home in on it fairly quickly.

-Larry Jones

Aw Mom, you act like I'm not even wearing a bungee cord! -- Calvin

reply via email to

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