git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: move detection doesnt take filename into account

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 9, 2014, 15:51 UTC
Message-ID
<xmqqegxu7cpg.fsf@gitster.dls.corp.google.com>
In-Reply-To
<20140709064521.GA14682@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 19 quoted lines
> On Tue, Jul 01, 2014 at 10:08:15AM -0700, Junio C Hamano wrote:
>
>> I didn't think it through but my gut feeling is that we could change
>> the name similarity score to be the length of the tail part that
>> matches (e.g. 1.a to a/2.a that has the same two bytes at the tail
>> is a better match than to a/2.b that does not share any tail, and to
>> a/1.a that shares the three bytes at the tail is an even better
>> match).
>
> The delta heuristics in pack-objects use pack_name_hash, which claims:
>
>         /*
>          * This effectively just creates a sortable number from the
>          * last sixteen non-whitespace characters. Last characters
>          * count "most", so things that end in ".c" sort together.
>          */
>
> which might be another option (and seems like a superset of the basename
> check, short of basenames that are longer than 16 characters).
Perhaps.

I am however not sure if the code to compute similarity score is as OK with false positives, i.e. dissimilar names that happen to hash together getting clumped in a same bin or in close bins, as the existing callers of pack_name_hash().

Previous: Jeff KingNext: Jeff King
Message 8 of 11 in “move detection doesnt take filename into account”
  1. Elliot WolkJun 30, 2014
  2. Robin RosenbergJul 1, 2014
  3. Elliot WolkJul 1, 2014
  4. Junio C HamanoJul 1, 2014
  5. Elliot WolkJul 1, 2014
  6. Junio C HamanoJul 1, 2014
  7. Jeff KingJul 9, 2014
  8. Junio C HamanoJul 9, 2014
  9. Jeff KingJul 9, 2014
  10. Junio C HamanoJul 9, 2014
  11. Jeff KingJul 10, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.