From: "W. Trevor King" <wking@tremily.us>
To: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>
Cc: Junio C Hamano <gitster@pobox.com>,
git@vger.kernel.org, Jiri Slaby <jslaby@suse.cz>,
Andreas Schwab <schwab@suse.de>, Jan Kara <jack@suse.cz>,
Jeff King <peff@peff.net>
Subject: Re: [PATCH] tag: add -i and --introduced modifier for --contains
Date: Mon, 21 Apr 2014 21:04:43 -0700 [thread overview]
Message-ID: <20140422040443.GC9243@odin.tremily.us> (raw)
In-Reply-To: <CAB=NE6U7zYurAXNvjkHmk12Qsp9rerr=JyMjrVHrab98h9_+gQ@mail.gmail.com> <20140417221619.GA697@sigill.intra.peff.net>
[-- Attachment #1: Type: text/plain, Size: 4533 bytes --]
On Mon, Apr 21, 2014 at 05:38:34PM -0700, Luis R. Rodriguez wrote:
> [0] mcgrof@ergon ~/linux (git::master)$ git log c5905afb..v3.5| grep
> ^commit | wc -l
> 24878
> [1] mcgrof@ergon ~/linux (git::master)$ git log c5905afb..v3.4| grep
> ^commit | wc -l
> 13106
> [2] mcgrof@ergon ~/linux (git::master)$ git log c5905afb..v3.3| grep
> ^commit | wc -l
> 1360
From gitrevisions(7), r1..r2 is “commits that are reachable from r2
excluding those that are reachable from r1”. Using Peff's example:
On Thu, Apr 17, 2014 at 06:16:20PM -0400, Jeff King wrote:
> ---A---B---C-----D---E---F (maint, v3.4)
> \ \ /
> \ ---G-----H---I (master, v4.0)
> \ / /
> ------J---
>
> The fix is J, and it got merged up to maint at D, and to master at H.
> v4.0 does not contain v3.4. What's the best description of J?
J..v3.4 is going to include B, C, D, E and F. However, the “distance”
used by ‘git describe’ uses the shortest path between the commits
(J-D-E-F), which doesn't care about development between A and D.
> The results for command [2] above however a bit surprising, I'd take a
> look but I should go back to look at other stuff, figured I'd at least
> bring it up now as it seems relevant.
Here's a simplified graph with d1-* tags for the v3.5-rc1~120^3~76^2
description and d2-* tags for the v3.4~479^2~9^2 description [1]:
* f8f5701 (tag: v3.5-rc1) Linux 3.5-rc1
* 912afc3 (tag: d1-F) Merge tag 'dm-3.5-changes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm
* 56edab3 (tag: d1-E) Merge branches 'perf-urgent-for-linus' and 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
|\
| * ab0cce5 (tag: d1-D) Revert "sched, perf: Use a single callback into the scheduler"
| * 26252ea (tag: d1-C-1, tag: d1-C) perf evlist: Show event attribute details
| * a385ec4 (tag: d1-C-64) Merge tag 'v3.4-rc2' into perf/core
| |\
| * \ 659c36f (tag: d1-C-65) Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
| |\ \
| | * | 5a7ed29 (tag: d1-C-65-2) perf record: Use sw counter only if hw pmu is not detected
* | |/ 76e10d1 (tag: v3.4) Linux 3.4
| |/|
|/| |
* |/ dd775ae (tag: v3.4-rc1) Linux 3.4-rc1
|/|
* | c5bc437 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
|\|
| * 9521d83 (tag: d1-C-66) Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
* | 9c2b957 (tag: d2-E) Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
|\ \
| |/
| * bea95c1 (tag: d2-D, tag: d1-C-67) Merge branch 'perf/hw-branch-sampling' into perf/core
| * f9b4eeb (tag: d2-C, tag: d1-C-68) perf/x86: Prettify pmu config literals
| * a706d4f (tag: d2-B, tag: d1-C-76, tag: d1-B) Merge branch 'perf/jump-labels' into perf/core
| * c5905af (tag: A) static keys: Introduce 'struct static_key', static_key_true()/false() and static_key_slow_[inc|dec]()
* | c16fa4f (tag: v3.3) Linux 3.3
|/
* dcd6c92 (tag: v3.3-rc1) Linux 3.3-rc1
This shows the v3.4-rc1 bypass from 9521d83 (d1-C-66) to 659c36f
(d1-C-65) which sets up the v3.5-rc1~120^3~76 description. It also
shows the c5905afb..v3.3 commits on the branch from c5905af's fork
(between v3.3-rc1 and v3.3) and v3.3.
Cheers,
Trevor
[1]: The simplified graph is from:
$ git tag A c5905afb
$ git tag d1-B v3.5-rc1~120^3~76
$ git tag d1-C v3.5-rc1~120^3~1
$ git tag d1-D v3.5-rc1~120^3
$ git tag d1-E v3.5-rc1~120
$ git tag d1-F v3.5-rc1~1
$ for x in $(seq 76); do git tag d1-C-$x v3.5-rc1~120^3~$x; done
$ git tag d1-C-65-2 d1-C-65^2
$ git tag d2-B v3.4~479^2~9
$ git tag d2-C v3.4~479^2~1
$ git tag d2-D v3.4~479^2
$ git tag d2-E v3.4~479
$ git tag -d sound-fixes sound-3.4 v3.3-rc{2,3,4,5,6,7} v3.4-rc{2,3,4,5,6,7}
$ git log --graph --topo-order --oneline --decorate --simplify-by-decoration v3.5-rc1
…simplified graph…
$ git tag -d A d1-{B,C,D,E,F} d2-{B,C,D,E} d1-C-65-2
$ for x in $(seq 76); do git tag -d d1-C-$x; done
With some additional tweaks to cull the d1-C-* bits we don't care
about and clear up the 659c36f (d1-C-65) merge.
--
This email may be signed or encrypted with GnuPG (http://www.gnupg.org).
For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2014-04-22 4:04 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-16 20:58 [PATCH] tag: add -i and --introduced modifier for --contains Luis R. Rodriguez
2014-04-16 22:02 ` Junio C Hamano
2014-04-16 22:35 ` Luis R. Rodriguez
2014-04-17 17:04 ` Junio C Hamano
2014-04-17 22:16 ` Jeff King
2014-04-18 16:26 ` Junio C Hamano
2014-04-22 4:04 ` W. Trevor King [this message]
2014-04-18 23:17 ` Luis R. Rodriguez
2014-04-18 23:36 ` Junio C Hamano
2014-04-22 0:38 ` Luis R. Rodriguez
2014-04-22 10:27 ` Jan Kara
2014-04-22 17:58 ` Junio C Hamano
2014-04-17 7:17 ` Andreas Schwab
2014-04-17 17:05 ` Junio C Hamano
2014-04-17 17:30 ` Andreas Schwab
2014-04-17 18:49 ` 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=20140422040443.GC9243@odin.tremily.us \
--to=wking@tremily.us \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jack@suse.cz \
--cc=jslaby@suse.cz \
--cc=mcgrof@do-not-panic.com \
--cc=peff@peff.net \
--cc=schwab@suse.de \
/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;
as well as URLs for NNTP newsgroup(s).