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

From: "Derrick Stolee via GitGitGadget" <[email-masked]>
Date: Fri, 17 May 2019 11:41:46 -0700 (PDT)

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.

Thanks, -Stolee

Derrick Stolee (3):
  commit-graph: use raw_object_store when closing
  packfile: close commit-graph in close_all_packs
  packfile: close_all_packs to close_object_store

 builtin/am.c           | 2 +-
 builtin/clone.c        | 2 +-
 builtin/fetch.c        | 2 +-
 builtin/gc.c           | 4 ++--
 builtin/merge.c        | 2 +-
 builtin/rebase.c       | 2 +-
 builtin/receive-pack.c | 2 +-
 builtin/repack.c       | 2 +-
 commit-graph.c         | 8 ++++----
 commit-graph.h         | 2 +-
 object.c               | 2 +-
 packfile.c             | 5 ++++-
 packfile.h             | 2 +-
 upload-pack.c          | 2 +-
 14 files changed, 21 insertions(+), 18 deletions(-)

base-commit: 8520d7fc7c6edd4d71582c69a873436029b6cb1b
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-208%2Fderrickstolee%2Fclose-graph-everywhere-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-208/derrickstolee/close-graph-everywhere-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/208
-- 
gitgitgadget