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

Re: obsolete index in wt_status_print after pre-commit hook runs

From
Andrew Keller <andrew@kellerfarm.com>
Date
Jul 16, 2016, 02:23 UTC
Message-ID
<36F872B1-D5C4-4FC5-9B9E-5297C4B01950@kellerfarm.com>
In-Reply-To
<CAPc5daWZofdZnE0VQyFX2sBQyEDvAPmU+4rmHe5rvh7eH001ZA@mail.gmail.com>
Am 15.07.2016 um 5:19 nachm. schrieb Junio C Hamano <gitster@pobox.com>:
Show 13 quoted lines
> 
> On Fri, Jul 15, 2016 at 1:30 PM, Andrew Keller <andrew@kellerfarm.com> wrote:
>> Am 15.07.2016 um 12:34 nachm. schrieb Andrew Keller <andrew@kellerfarm.com>:
>> 
>>> I pulled out the source for version 2.9.1 and briefly skimmed how run_commit and
>>> prepare_to_commit work.  It seems that Git already understands that a pre-commit
>>> hook can change the index, and it rereads the index before running the
>>> prepare-commit-msg hook: https://github.com/git/git/blob/v2.9.1/builtin/commit.c#L941-L951
>> 
>> Quick question: Why does Git reread the index after the pre-commit hook runs?
> 
> Offhand I do not think of a good reason to do so; does something break
> if you took it out?

According to only test failures, it seems that only the `update_main_cache_tree(0)` invocation is needed to avoid a torrent of test failures (490 failures across 102 tests). Removing lines 946, 947, 949, and 950 do not cause test breakages (although my computer is not set up to run all of the tests).

However, there seems to be an interaction between lines 946-947 and `update_main_cache_tree(0)` on line 948: although lines 946-947 can be removed by themselves without test breakages, when 946-948 are all disabled together (and, in turn, lines 949-950 never run), one additional test failure is registered (t2203.5).

Thanks,
 - Andrew Keller
Previous: Andrew Keller
Message 13 of 13 in “obsolete index in wt_status_print after pre-commit hook runs”
  1. Andrew KellerJul 15, 2016
  2. Junio C HamanoJul 15, 2016
  3. Andrew KellerJul 15, 2016
  4. Junio C HamanoJul 15, 2016
  5. Andrew KellerJul 15, 2016
  6. Andrew KellerJul 15, 2016
  7. Junio C HamanoJul 15, 2016
  8. Junio C HamanoJul 15, 2016
  9. Andrew KellerJul 16, 2016
  10. Andrew KellerAug 3, 2016
  11. Junio C HamanoAug 4, 2016
  12. Andrew KellerAug 5, 2016
  13. Andrew KellerJul 16, 2016

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.