From: "Björn Steinbrink" <B.Steinbrink@gmx.de>
To: Sergei Organov <osv@javad.com>
Cc: git@vger.kernel.org
Subject: Re: Strange git-show-branch behavior.
Date: Sat, 3 Nov 2007 19:22:24 +0100 [thread overview]
Message-ID: <20071103182224.GA16345@atjola.homenet> (raw)
In-Reply-To: <871wb79q80.fsf@osv.gnss.ru>
On 2007.11.03 20:46:39 +0300, Sergei Organov wrote:
> Hello,
>
> I need to ask about git-show-branch once again as I really can't
> understand its behavior myself. Could please anybody either confirm bug(s) in
> git-show-branch, or explain why does it work this way.
>
> Consider its invocation in a toy repository that has total 6 commits, as
> can be seen from this output:
>
> $ git branch
> * master
> mybranch
> $ git rev-list master mybranch --pretty=oneline
> e9217caffebd6311073867d410f0c6e46910a13d Go to sleep
> 5f19837be87493e9b284fe7db03f00f23d006d2e Merged mybranch
> 2e2a4956db9737faf5f4f296b895500fafab7350 Some fun.
> 6478a15c48b0a7ce28069310ff5e51f95b250c7c Some work.
> 48d3660dc2005471c27f1d5b09d334885b612380 Commit message
> 2c14c05709bde3c1a7bbdd7effbf73a5667fa265 Initial commit
> $
>
> Or, using git-show-branch itself:
>
> $ git-show-branch --more=9 master
> [master] Go to sleep
> [master^] Merged mybranch
> [master^^2] Some work.
> [master~2] Some fun.
> [master~3] Commit message
> [master~4] Initial commit
> $
>
> [NOTE: the format of this output contradicts the manual page, but it's
> not the topic of this post]
>
> Now comes the confusion:
>
> $ git-show-branch --more=9 master mybranch
> * [master] Go to sleep
> ! [mybranch] Some work.
> --
> * [master] Go to sleep
> *+ [mybranch] Some work.
> * [master~2] Some fun.
> *+ [master~3] Commit message
> *+ [master~4] Initial commit
> $
>
> In this output, why git doesn't show the merge commit having "Merged
> mybranch" commit message?
Because you didn't pass --sparse.
>
> Yet another confusion:
>
> $ git-show-branch master mybranch
> * [master] Go to sleep
> ! [mybranch] Some work.
> --
> * [master] Go to sleep
> *+ [mybranch] Some work.
> $
>
> Why does it stop at "Some work." commit? The manual page says: "Usually
> the command stops output upon showing the commit that is the common
> ancestor of all the branches.", so I'd expect it should go down to
> "Commit message" commit that is the fork point.
Common ancestor means, that the commit is reachable through all refs.
Let's take a look at your history:
.-F-. mybranch
/ \
A---B---C---D---E master
There you can see that mybranch can of course reach F, and that master
can reach it, too. E -> D -> F. So the output stops at F, not at B.
Björn
next prev parent reply other threads:[~2007-11-03 18:23 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-03 17:46 Strange git-show-branch behavior Sergei Organov
2007-11-03 18:22 ` Björn Steinbrink [this message]
2007-11-08 9:58 ` Sergei Organov
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=20071103182224.GA16345@atjola.homenet \
--to=b.steinbrink@gmx.de \
--cc=git@vger.kernel.org \
--cc=osv@javad.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox