Thread (13 messages) flat view 13 messages, 7 authors, 2016-06-15

Re: : Networking

From: Andrew Morton <hidden>
Date: 2016-06-15 22:41:54

Petr Baudis [off-list ref] 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...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help