Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Oct 2001 08:10:44 +0200 (CEST)
From:      Micke Josefsson <mj@isy.liu.se>
To:        cjclark@alum.mit.edu
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: Recursive diff? How?
Message-ID:  <XFMail.20011018081044.mj@isy.liu.se>
In-Reply-To: <20011017150223.A373@blossom.cjclark.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On 17-Oct-2001 Crist J. Clark wrote:
> On Wed, Oct 17, 2001 at 10:58:59AM +0200, Micke Josefsson wrote:
>> 
>> On 17-Oct-2001 Crist J. Clark wrote:
>> > On Wed, Oct 17, 2001 at 07:57:24AM +0200, Micke Josefsson wrote:
>> >> In my attempt to port uClinux development environment to FreeBSD I have
>> >> edited
>> >> many files down the uClinux source directory. Is there anyway of doing a
>> >> recursive diff so that it would also be easy to patch a newly installed
>> >> source?
>> >> 
>> >> diff -r seems ok, but when I patch with the result it wants me to specify
>> >> the
>> >> exact filenames. Is there a better way? CVS?
>> > 
>> > The 'diff -r' should handle this fine. Are you running the 'diff -r'
>> > in the same relative location to where you are running the 'patch'
>> > command or using the -p option correctly? Are your running the diff(1)
>> > command someplace where you have different directory name in between
>> > the pwd and the source files than on the machine you run patch(1)?
>> 
>> 
>> Thanks for bothering with this but I just can't seem to get it right.
>> 
>> Lets get down to cases (I've tried every combination I can think of:).
>> 
>> in my ~/tmp I have two source trees. One original and one modified:
>> 
>>         src src.orig
>> 
>> I make a diff as per man page of diff:
>> 
>>         diff -crN src.orig src > src.diff
>> 
>> How do I apply that src.diff onto the 'real' original sources at
>> /opt/uClinux/src?
>> 
>> A simple 'cd /opt/uClinux; patch < src.diff' wont do it. Nor any combination
>> of
>> -p[1-7].
>> 
>> 
>> 
>> I have also tried going down into /opt/uClinux/src etc to no avail.
> 
> I would expect if the 'src.orig' and 'src' trees are structured like
> '/opt/uClinux/src', that,
> 
>   $ cd /opt/uClinux
>   $ patch < src.diff
> 
> Should work.

That is exactly how I read the man-page too. I got it right yesterday after some
more experimenting. Apparently the route I described above DID work only I was
too confused at the time to notice it:(

The original situation arose from doing as in the snippet below. When I made the
diff with -crN however it actually did work. I still do not understand why diff
-r barfs. 

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
(> diff -r src.orig src >src.diff)
lagrange# cd /opt/uClinux/
lagrange# patch < /home/mj/tmp/TMP/src.diff
Hmm...  Looks like a normal diff to me...
The text leading up to this was:
--------------------------
|diff -r src.orig/Makefile src/Makefile
--------------------------
File to patch: 
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

I am terribly sorry to have taken up your time with this. I'll RTFM better next
time...

/Micke
 

> What does the prompting from patch(1) look like? What does the top of
> one of the diff's look like; the first two lines with the pathnames?

diff -r src.orig/Makefile src/Makefile
16c16
:
:

and 

       
diff -crN src.orig/Makefile src/Makefile
*** src.orig/Makefile   Thu Oct 18 07:48:19 2001
--- src/Makefile        Thu Oct 18 07:48:40 2001
:
:
:

----------------------------------
Michael Josefsson, MSEE
mj@isy.liu.se

This message was sent by XFMail
running on FreeBSD 4.4-STABLE
----------------------------------

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20011018081044.mj>