From: Junio C Hamano <gitster@pobox.com>
To: Johannes Sixt <j.sixt@viscovery.net>
Cc: Git Mailing List <git@vger.kernel.org>
Subject: Re: --first-parent plus path limiting
Date: Tue, 29 Jan 2008 00:47:34 -0800 [thread overview]
Message-ID: <7vk5ltow61.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <479EE405.1010001@viscovery.net> (Johannes Sixt's message of "Tue, 29 Jan 2008 09:29:57 +0100")
Johannes Sixt <j.sixt@viscovery.net> writes:
> While trying to find out when builtin-fetch.c was merged into master, I
> noticed that this:
>
> $ git log --first-parent --pretty=oneline -- builtin-fetch.c
>
> lists b888d61c (Make fetch a builtin), which I did not expect.
Why didn't you?
> This one
> doesn't list it, as expected:
>
> $ git log --first-parent --pretty=oneline
Why did you expect that? This tells "follow only the first
parent chain, ignoring all merges".
As most everything that is nontrivial is developed on a topic
branch in git.git, "Make fetch a builtin" will not be on the
first parent chain of the "master".
The former is about "First simplify the history with respect to
builtin-fetch.c, and then follow the first-parent of the
simplified history.
As the builtin-fetch topic was worked on for some time on its
own topic, like this:
---o---o---o---...---o---A---M--- master
\ /
o---o---X---...---o---B
So if a commit M has two parents A and B, and the file in M is
the same as the file in B, the history simplifies commit A and
the side branch that leads to it away. Perhaps commit A was the
first parent and B was the last commit of the fetch-pack series,
and "Make fetch a builtin" was an ancestor of B, like X above.
$ gitk b888d61c^..v1.5.4-rc5 -- builtin-fetch.c
is somewhat interesting to view.
next prev parent reply other threads:[~2008-01-29 8:48 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-29 8:29 --first-parent plus path limiting Johannes Sixt
2008-01-29 8:47 ` Junio C Hamano [this message]
2008-01-29 9:05 ` Johannes Sixt
2008-01-29 9:11 ` Junio C Hamano
2008-01-29 9:18 ` Johannes Sixt
2008-01-29 20:03 ` 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=7vk5ltow61.fsf@gitster.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=j.sixt@viscovery.net \
/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.