Daemon News Ezine BSD News BSD Mall BSD Support Forum BSD Advocacy BSD Updates

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

Re: Unable to get any DIffs to work



Jonathan Noack wrote:
Rousell, Jeff wrote:
I am unable to get any diff outputs to work with a new CVSWeb
installation.
I am NOT a newbie who is posting here without first trying to solve
this myself.
The installation works perfectly for browsing and doing annotation
outputs but not for any diffs.
 rcsdiff and rlog ( 5.7) is installed and has been confirmed to work
fine from the command line.
I am not getting not getting any 500 errors nor server error log info
about the problem.
For the human readable diff I basically get a blank diff -- the page
looks fine with all eth header and footer prettiness- but the actual
"meat" of the page says: " - No viewable change - "
If I try a unified or side-by-side I get something like below printed to
the browser( no header or footer prettiness):
/bin/diff: illegal option -- -
usage: diff [-bitw] [-c | -e | -f | -h | -n] file1 file2
       diff [-bitw] [-C number] file1 file2
       diff [-bitw] [-D string] file1 file2
       diff [-bitw] [-c | -e | -f | -h | -n] [-l] [-r] [-s] [-S name]
directory1 directory2
rcsdiff: /web-content/cvsroot/SCM/bin/jadd: diff failed
I am able to use rcsdiff from the command line just fine.  And it
appears as though cvsweb.cgi has the  access to  run rcsdiff and knows
where it is etc... Is there a debug flag that I cna sue so that it prints out the full diff
command that it is trying to perform so thhat I could verify that fomr
teh command line?

Which OS? Which version of CVSweb? Can you post of a diff between cvsweb.conf.dist and your cvsweb.conf?

Uncommenting '$DEBUG = 1;' in cvsweb.conf will cause STDERR to be sent to your web server error log instead of /dev/null. However, for the rcsdiff command STDERR is sent to STDOUT by default so you are already seeing any errors in your web browser.

Attached is a patch for CVSweb 3.0.6 which will print out the rcsdiff command used. It should print out at the top of the diff output.

One final note:
When testing from the command-line be sure to run the command as the web server user (i.e., 'sudo -u www rcsdiff ...').

Jeff sent me a message off-list that said he found that the problem was with an older Solaris version of diff (rcsdiff runs diff to perform the actual comparison). Everything worked fine once he started using the GNU diffutils.

Jeff,
What version of Solaris are you running?

Ville,
Should we make a recommendation/requirement to use the GNU diffutils?

-Jonathan