[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Problem invoking diff3.

From: Kevin Pilch-Bisson <kevin_at_pilch-bisson.net>
Date: 2002-05-15 22:59:12 CEST

I recently bootstrapped svn onto a Solaris machine which I have non-root
access to. I happily compiled and installed all of the utils I needed,
including diffutils.

Then I got the svn tarball, bootstrapped to HEAD (1954 at the time), and
compiled again. Everything up till here went great. The problem came when I
ran make check.

I got a whole bunch of failed tests, which according to the log seemed to be
related to diff/diff3.

After much frustration, I discovered something strange about the way diff3
works. It doesn't automatically invoke the diff from the same diffutils
package. Instead it runs the first diff it finds in PATH if PATH is set,
otherwise, it checks a some hardcoded locations. The first two are
/usr/ccs/bin/diff and /usr/bin/diff. This is all I know about, since
/usr/bin/diff exists and is Solaris diff, which doesn't understand the
arguments that diff3 tries to pass it.

I fixed this for that particular machine by changing the inherit_environment
flag in svn_io_run_diff3's call to svn_io_run_cmd to TRUE, but I don't think
this is the best solution.

Note that this could also bite FreeBSD users who will end up with diff3
running the hacked BSD version of diff instead of the gdiff found by
configure.

Anyone have an idea as to what a good solution is?

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kevin Pilch-Bisson                    http://www.pilch-bisson.net
     "Historically speaking, the presences of wheels in Unix
     has never precluded their reinvention." - Larry Wall
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • application/pgp-signature attachment: stored
Received on Wed May 15 23:03:56 2002

This is an archived mail posted to the Subversion Dev mailing list.