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

Re: Can someone explain this git-blame/git-rev behavior to me?

From
David Kastrup <dak@gnu.org>
Date
Jul 16, 2007, 16:38 UTC
Message-ID
<867ip05mn3.fsf@lola.quinscape.zz>

Oops, I accidentally sent the following mail in private. So I have to forward back to the list (don't have the original):

David Kastrup wrote:
Show 43 quoted lines
> 
> Johannes Sixt <J.Sixt@eudaptics.com> writes:
> 
> > David Kastrup wrote:
> 
> >> [nonsense not really related to the problem he has been seeing]
> 
> > [Johannes replied with a reasonable analysis]
> 
> Ok, scratch that.  I got completely confused.  Here is the gist of the
> problem that kicked me, this time boiled down to the actually relevant
> part:
> 
> I am looking for a descendant of tags/v1.4.4-rc1~72 with regard to
> contrib/emacs/vc-git.el by scanning the output of the first command
> in the following pipeline:
> 
> git-rev-list --parents HEAD ^tags/v1.4.4-rc1~72 -- vc-git.el|git-name-rev --stdin|fgrep tags/v1.4.4-rc1
> 
> This gives:
> 4de0f9f9b6ed1731de00b67952504e5a783f54a4 (tags/v1.5.0-rc0~31) 1259404c7e5cd88b7f6692986469cd20cbfacdad (tags/v1.4.4-rc1~71)
> 1259404c7e5cd88b7f6692986469cd20cbfacdad (tags/v1.4.4-rc1~71) b4aee09e610567529dc619d7324dc2fe85a11db5 (tags/v1.4.4-rc1~72) 0abc0260fa3419de649fcc1444e3d256a17ca6c7 (tags/v1.4.3.2~6)
> 
> And this looks like it would tell us that tags/v1.4.4-rc1~72 has with
> regard to vc-git.el a child tags/v1.4.4-rc1~71 and a grandchild of
> tags/v1.5.0-rc0~31.
> 
> Now if I instead do
> git-rev-list --parents HEAD -- vc-git.el|git-name-rev --stdin|fgrep tags/v1.4.4-rc1
> 
> 4de0f9f9b6ed1731de00b67952504e5a783f54a4 (tags/v1.5.0-rc0~31) b4aee09e610567529dc619d7324dc2fe85a11db5 (tags/v1.4.4-rc1~72)
> b4aee09e610567529dc619d7324dc2fe85a11db5 (tags/v1.4.4-rc1~72) 474a90fef9ebcdedee041b2def4b9a98b94cd146 (tags/v1.4.3.2~8)
> 
> I get to see that the child of tags/v1.4.4-rc1~72 is actually
> tags/v1.5.0-rc0~31, skipping tags/v1.4.4-rc1~71 which presumably did
> not change vc-git.el.
> 
> So the ^tags/v1.4.4-rc1~72 specification caused an additional mention
> of tags/v1.4.4-rc1~71 even though, with regard to vc-git.el, it would
> be equivalent to tags/v1.4.4-rc1~72.
> 
> So is there a way I can get the information of the second call without
> the performance loss of going through the entire history?

You better send the question again, this time to the list. I'm certainly not the one who can answer this or even solve it.

It seems that there is an unwanted interaction between --parents and history simplification at the edge commits. I don't think that there will be an easy solution.

-- Hannes
So anybody has an idea how to go about this?
-- 
David Kastrup
Message 1 of 1 in “Re: Can someone explain this git-blame/git-rev behavior to me?”
  1. David KastrupJul 16, 2007

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.