From: Junio C Hamano <junkio@cox.net>
To: Linus Torvalds <torvalds@osdl.org>
Cc: git@vger.kernel.org
Subject: Re: How to get a directory filled with v2.6.11?
Date: Wed, 13 Jul 2005 13:37:51 -0700 [thread overview]
Message-ID: <7vvf3ewig0.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <Pine.LNX.4.58.0507122116280.17536@g5.osdl.org> (Linus Torvalds's message of "Tue, 12 Jul 2005 21:37:06 -0700 (PDT)")
Linus Torvalds <torvalds@osdl.org> writes:
> That said, whatever you do you will eventually end up with a series of
> commits that are not related to the "normal" commits in the 2.6.12-rc2+
> chain, and since they don't have a common point, git won't be able to
> merge them for you. Git will be able to _track_ them for you, but at some
> point you'll want to probably try to move them forward to the "rest" of
> the git history.
>
> And I'll warn you that that is not going to be entirely trivial, although
> Junio's "cherrypick" scripts should be useful as a way to automate it at
> least to some degree. This is why it would be so much easier if you could
> have started with a 2.6.12-rc2 or other "real" commit ;)
I do not think git-cherry would be that useful in this context.
Nobody upstream is merging things into your development trail,
started at the private commit you made based on the 2.6.11 tree.
I was wondering if adding "graft trail" to merge-base command
would help this situation.
SYNOPSIS
--------
'git-merge-base' ( --graft <commit1> <commit2>)* <commit> <commit>
...
OPTIONS
-------
<commit>::
The two heads being merged.
--graft <commit1> <commit2>::
Treat as if <commit1> is one of the ancestors of
<commit2> when computing the commit ancestry chain.
Can be specified more than once.
Then we could say "--graft v2.6.11 v2.6.12-rc2".
We may want to have a configuration file in .git/ directory (I
think it belongs to .git/objects/ hierarchy, because this is not
per work-tree thing but per project thing) that record this
"graft" relationship.
When we have not-so-stupid [*1*] merge algorithm in place, we
could do even better. Starting from v2.6.11 tree, we can
rebuild (from BKCVS) the development trail up to v2.6.12-rc2,
which is independent from the current kernel development trail
which started at (a different) v2.6.12-rc2. Use the former one
as <commit1>, and the latter one as <commit2>, and the "clever"
merge algorithm would be able to follow across the v2.6.12-rc2
discontiguity and trace the development back to v2.6.11.
[Footnote]
*1* <Pine.LNX.4.58.0507052011440.3570@g5.osdl.org>
So if you want to document that the current automatic merge is stupid,
hey, go wild. It _is_ stupid. It's surprisingly effective, but that may be
because of kernel development patterns and may not be true in other
projects.
next prev parent reply other threads:[~2005-07-13 20:42 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-12 5:03 How to get a directory filled with v2.6.11? Marc Singer
2005-07-12 6:18 ` Matthias Urlichs
2005-07-13 4:37 ` Linus Torvalds
2005-07-13 20:37 ` Junio C Hamano [this message]
2005-07-13 20:46 ` Linus Torvalds
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7vvf3ewig0.fsf@assigned-by-dhcp.cox.net \
--to=junkio@cox.net \
--cc=git@vger.kernel.org \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.