On Tue, Mar 26, 2013 at 09:13:38AM +0100, Florent Peterschmitt wrote:
> Le 25/03/2013 04:40, Scot Hetzel a écrit :
> > On Sun, Mar 24, 2013 at 10:33 PM, Florent Peterschmitt
> > <[email protected]> wrote:
> >> Le 24/03/2013 17:34, Scot Hetzel a écrit :
> >>> On Sun, Mar 24, 2013 at 7:00 AM, Beeblebrox <[email protected]> wrote:
> >>>> I would be very happy to submit a patch, if I actually knew how to write
> >>>> one...
> >>>>
> >>>
> >>> It is quite simple to create the patch.
> >>>
> >>> If you have a working copy checked out with svn, then it would be:
> >>>
> >>> cd /usr/ports/[category]/[port]
> >>> - Make the necessary changes to the port
> >>> - After testing the port make sure to do a 'make clean'
> >>> svn diff > port.diff
> >>>
> >>> Otherwise make a copy of the port:
> >>>
> >>> cd /usr/ports/[catagory]
> >>> cp port port-orig
> >>> cd port
> >>> - Make the necessary changes to port
> >>> - After testing port make sure to do a 'make clean'
> >>> cd ..
> >>> diff -ruN port-orig port > port.diff
> >>>
> >>> Then just submit the port.diff in a PR using either send-pr or
> >>> http://www.freebsd.org/send-pr.html.
> >>>
> >>
> >> Is there a way to manually make a patch that will say :
> >>
> >> --- MyFile
> >> +++ MyFile
> >>
> >> Even if these files are in two distinct trees ?
> >>
> > There is always a way to do that:
> > 
> > diff -u /path/to/original/port/MyFile /path/to/modified/port/MyFile >
> > /place/to/save/patch/port.diff
> > 
> > or if you modifed several files:
> > 
> > diff -ruN /path/to/original/port /path/to/modified/port >
> > /place/to/save/patch/port.diff
> > 
> Hum yes but what I mean is that we'll have, for example:
> 
> --- /home/florent-gentoo/patch/old/one        2013-03-24 14:04:20.757200724 
> +0100
> +++ /home/florent-gentoo/patch/new/one        2013-03-24 14:04:08.541201548 
> +0100
> […]
> 
> And what I want is:
> 
> --- /home/florent-gentoo/patch/old/one        2013-03-24 14:04:20.757200724 
> +0100
> +++ /home/florent-gentoo/patch/old/one        2013-03-24 14:04:08.541201548 
> +0100
> […]
> 
> SCM make patches like the second one and I'm no sure it is possible to
> do without modifying by hand the patch generated.

Well, one way to do it would be to actually *use* an SCM :)  My
preferred way would be a Git copy of the Subversion repository - then
you do your changes in your local Git tree and periodically pull down
the changes from the FreeBSD Subversion repo and merge them into yours.

But really, is there actually a reason why you don't want two separate
directories?  To be honest, before the advent of Subversion and Git
everyone did their patches that way (well, there *were* local CVS
repositories and checkouts from there, but most of the patches were
diffs between two side-by-side directories) - and I don't think anyone
ever complained.  Are there any problems you are seeing with two paths
in the diff headers, or is it just aesthetic?

G'luck,
Peter

-- 
Peter Pentchev  [email protected] [email protected] [email protected]
PGP key:        http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint 2EE7 A7A5 17FC 124C F115  C354 651E EFB0 2527 DF13
I am jealous of the first word in this sentence.

Attachment: signature.asc
Description: Digital signature

Reply via email to