From: Avi Kivity <avi@qumranet.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] Document git rev-list --first-parent
Date: Mon, 24 Dec 2007 18:37:32 +0200 [thread overview]
Message-ID: <476FE04C.9040408@qumranet.com> (raw)
In-Reply-To: <476F8679.8010706@qumranet.com>
Avi Kivity wrote:
> Junio C Hamano wrote:
>>> Well, my use case is different. All of the development merges are
>>> fast-forwards (or plain patch applications); the only multiple-parent
>>> merges are pulls I do from the main tree in order to advance the
>>> baseline,...
>>>
>>
>> Yeah, that is what I meant as a special case. If you submit
>> patches and rebase the remainder of your changes to the updated
>> upstream (as x.org folks seem to do), then the --first-parent
>> history will not be your own development but "the global trunk
>> history." If you are the top-level maintainer and your pull
>> sometimes ends up as a fast forward and sometimes a real merge,
>> you will sometimes get a full history of a topic done by
>> somebody else (if that person rebased on top of you) or just a
>> summary single merge (otherwise), and the distinction between
>> these two cases does not have anything to do with whose commits
>> they are (i.e. mine vs others) or the scope of the changes
>> (i.e. the trunk history vs side branch development). It would
>> not be as useful as the "looking at the list of one's own
>> commits while summarizing out others' developments as merge
>> commits" world view the --first-parent would give you in your
>> history.
>>
>
> Sorry, I'm confused now. I'll try to explain more carefully what I'm
> doing.
>
> I'm a mid-level maintainer for a particular subsystem (kvm). I merge
> patchsets from others and do my own work, but I am careful to keep
> everything linear (no real merges in the git sense). Every once in a
> while I merge from upstream or some other tree, but these are never
> kvm developments. Every merge window I rebase the development branch
> to upstream, removing commits that were later reverted, and merging
> fixes into the patches that introduce them and push the result to
> Linus. Hopefully that's clear as I'm not much of an ascii artist.
>
> So, for me --first-parent means "commits to the development branch of
> kvm", whether by myself or someone else. It specifically excludes kvm
> commits to mainline, since that would result in a bunch of duplicated
> commits. But it seems to be quite different from what you're describing.
>
Anyway, here's what I came up with:
--first-parent::
Follow only the first parent commit upon seeing a merge
commit. This option gives a better overview of the
evolution of a particular branch.
Note that this is only useful if the branch implements a consistent
fast-forward merge policy. One example is to never do a fast-forward
merge (so that --first-parent returns strictly local commits). Another
possible policy is to always fast-forward development related to the
branch's
topic, and only merge synchronizations with upstream or with other
topic branches.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2007-12-24 16:38 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-24 8:20 [PATCH] Document git rev-list --first-parent Avi Kivity
2007-12-24 8:30 ` Junio C Hamano
2007-12-24 8:36 ` Avi Kivity
2007-12-24 9:13 ` Junio C Hamano
2007-12-24 9:40 ` Avi Kivity
2007-12-24 9:58 ` Junio C Hamano
2007-12-24 10:14 ` Avi Kivity
2007-12-24 16:37 ` Avi Kivity [this message]
2007-12-25 9:35 ` Junio C Hamano
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=476FE04C.9040408@qumranet.com \
--to=avi@qumranet.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/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.