Re: [GIT]: Networking

From: Andrew Morton <akpm@osdl.org>
Date: 2005-04-27 04:56:09
Petr Baudis <pasky@ucw.cz> wrote:
>
>  > d) To generate davem's tree (patch against linus's current tree (ie: patch
>  >    against 2.6.12-rc3+linus.patch)):
>  > 
>  > 	git pull git-net
>  > 	MERGE_BASE=$(merge-base $(cat .git/heads/origin ) $(cat .git/heads/git-net))
>  > 	git diff -r $MERGE_BASE:$(cat .git/heads/git-net) > ../25/patches/git-net.patch
> 
>  This is the bad way; I think this suffers of basically the same problems
>  as my ancient merging by "forward-patching". You should probably do a
>  regular merge:
> 
>  	git pull git-net
>  	git merge git-net
>  	git diff -p
> 
>  The last command will show diff between current tree and the first
>  parent; that amounts the merged patch in this case.

Bear in mind that there will be 20 or 30 different trees which I'll need
the diffs for, not just the one git-net.

I don't know if it'll be successful continually merging all those trees
together.  The way I did this with bk was to have a separate repo for each
tree, but I don't think I'll want 30-40 separate git trees.

My little methodology worked nicely for git-ia64.

Jan Harkes has pointed out that the problem here is that Linus and Dave
both applied the same patch from Al and that interdiff was able to fix it
up:

$ git diff -r 25ee7e3832951cf5896b194f6cd929a44863f419:b453257f057b834fdf9f4a6ad6133598b79bd982 > git-linus.patch
$ git diff -r 25ee7e3832951cf5896b194f6cd929a44863f419:5523662c4cd585b892811d7bb3e25d9a787e19b3 > git-net.patch
$ interdiff --no-revert-omitted -p1 git-linus.patch git-net.patch | diffstat
drivers/net/tg3.c                            |   73 ++++++++++++++-------------
net/ipv4/ip_output.c                         |    2
net/ipv4/netfilter/ip_conntrack_ftp.c        |    4 -
net/ipv4/netfilter/ip_conntrack_standalone.c |    7 --
net/ipv4/tcp_input.c                         |    1 
net/sched/simple.c                           |   18 ------
6 files changed, 46 insertions(+), 59 deletions(-)

So hm.  I guess git did what it was supposed to do here, and that a `git
merge' would have removed the common patch.  But if I take the approach of
merging all those subsystem trees I do wonder if things will come
unstuck...
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Wed Apr 27 04:56:59 2005

This archive was generated by hypermail 2.1.8 : 2005-04-27 04:56:59 EST