From: Philip Oakley Date: Thu, 30 Aug 2012 07:06:33 GMT Subject: Re: [PATCH 0/3] "git name-rev --weight" Message-ID: <068F712399864538B59054590881E19C@PhilipOakley> In-Reply-To: <1346275044-10171-1-git-send-email-gitster@pobox.com> 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(-) > > -- > 1.7.12.285.ga3d5fc0 >