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

Re: [PATCH v4 4/4] cache-tree: Write updated cache-tree after commit

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 8, 2014, 18:32 UTC
Message-ID
<xmqqfvibaegr.fsf@gitster.dls.corp.google.com>
In-Reply-To
<CACsJy8C20oFdATHKTLK=9U3_kHu1QsuS4i74RPgQn0aTwVCC8w@mail.gmail.com>
Duy Nguyen <pclouds@gmail.com> writes:
> ... I know the
> "index_file" in prepare_to_commit() is probably "index.lock" or
> something, but that does not stop us from locking again
> ("index.lock.lock") if we want to update it.

We grabbed the lock on the real index and we have written out the result of "update-index --refresh" to it (and closed), but we still want to and do keep the lock while "add -i" works on it. And then after "add -i" returns, we still have the lock on the real index and the patch wants to write to it again to store the refreshed cache-tree under that lock.

It may be the case that the API suite currently lacks a way to allow the caller to reopen the same "index.lock" file after calling write-locked-index(CLOSE_LOCK), and taking a lock on "index.lock" to write into "index.lock.lock" and renaming it to "index.lock" could be a workaround for it, but doesn't that sound a wrong workaround?

Previous: Duy NguyenNext: Junio C Hamano
Message 13 of 15 in “cache-tree: Create/update cache-tree on checkout”
  1. 1/4 cache-tree: Create/update cache-tree on checkoutDavid Turner, Jul 6, 2014
  2. 2/4 test-dump-cache-tree: invalid trees are not errorsDavid Turner, Jul 6, 2014
  3. Junio C HamanoJul 7, 2014
  4. 3/4 cache-tree: subdirectory testsDavid Turner, Jul 6, 2014
  5. Eric SunshineJul 6, 2014
  6. Junio C HamanoJul 7, 2014
  7. 4/4 cache-tree: Write updated cache-tree after commitDavid Turner, Jul 6, 2014
  8. Junio C HamanoJul 7, 2014
  9. Junio C HamanoJul 8, 2014
  10. Duy NguyenJul 8, 2014
  11. Junio C HamanoJul 8, 2014
  12. Duy NguyenJul 9, 2014
  13. Junio C HamanoJul 8, 2014
  14. Junio C HamanoJul 8, 2014
  15. Junio C HamanoJul 7, 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.