From: "Junio C Hamano" <>
Sent: Wednesday, August 29, 2012 10:17 PM
So here is an attempt to teach "name-rev" a mode that tries to base
its name on oldest tag that can reach the commit.  It needs the
reset_revision_walk() call recently added to the revision traversal
API, and applies to bcc0a3e (v1.7.11-rc0~111^2~2) or newer.

Note that this can benefit from caching, as the "weight" of the tag
(rather, the commit that is tagged) will never change once a history
is made, but that part is left as an exercise to the reader.

Is "--weight" the right term to use for the user (cli) interface? Wouldn't '--oldest' (or similar) be a better statement of what is desired (absent clock skew).

While 'weight' may be a good internal technical description it didn't convey to me what was being sought (maybe -- deepest'?).

It correctly names 0136db586c in the kernel history as based on
v3.5-rc1 as tags/v3.5-rc1~83^2~81^2~76, not on v3.6-rc1, as we saw
on the list recently.

Once it is verified to operate correctly and updated to perform
properly, we can start passing --weight when "describe --contains"
runs the command.

Junio C Hamano (3):
 name-rev: lose unnecessary typedef
 name_rev: clarify when a new tip-name is assigned to a commit
 name-rev: --weight option (WIP)

builtin/name-rev.c | 142 ++++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 120 insertions(+), 22 deletions(-)


To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to