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

Re: [PATCH 0/3] Close commit-graph before calling 'gc'

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
May 20, 2019, 09:40 UTC
Message-ID
<nycvar.QRO.7.76.6.1905201139120.46@tvgsbejvaqbjf.bet>
In-Reply-To
<pull.208.git.gitgitgadget@gmail.com>
Hi Stolee,
On Fri, 17 May 2019, Derrick Stolee via GitGitGadget wrote:
Show 12 quoted lines
> In Windows, the way we rename a lock file to replace the underlying file
> does not work when a process holds a read handle. For this reason, we call
> close_all_packs() everywhere before starting a git gc --auto subprocess. We
> also call close_commit_graph() before renaming the commit-graph lock file.
> But we don't close the commit-graph handles before running gc, which can
> cause an issue when gc.writeCommitGraph is enabled.
>
> This series adds close_commit_graph() to close_all_packs() and then renames
> close_all_packs() to close_object_store(). This name is more descriptive of
> its larger purpose.
>
> This is based on ds/commit-graph-write-refactor to avoid conflicts.
Thank you so much for jumping on my (off-list, in-team) bug report!
FWIW I integrated this series into Git for Windows v2.22.0-rc1 already.

Thanks, Dscho

Previous: Derrick Stolee
Message 11 of 11 in “Close commit-graph before calling 'gc'”
  1. 0/3 Close commit-graph before calling 'gc'Derrick Stolee via GitGitGadget, May 17, 2019
  2. 1/3 commit-graph: use raw_object_store when closingDerrick Stolee via GitGitGadget, May 17, 2019
  3. 2/3 packfile: close commit-graph in close_all_packsDerrick Stolee via GitGitGadget, May 17, 2019
  4. 3/3 packfile: close_all_packs to close_object_storeDerrick Stolee via GitGitGadget, May 17, 2019
  5. Johannes SchindelinMay 20, 2019
  6. Derrick StoleeMay 20, 2019
  7. Junio C HamanoMay 28, 2019
  8. Junio C HamanoMay 19, 2019
  9. Johannes SchindelinMay 20, 2019
  10. Derrick StoleeMay 20, 2019
  11. Johannes SchindelinMay 20, 2019

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.