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

[PATCH 3/3] packfile: close_all_packs to close_object_store

From
Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com>
Date
May 17, 2019, 18:41 UTC
Message-ID
<0e948f639fb5209f07f8e3eb356b5886c41ff2be.1558118506.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.208.git.gitgitgadget@gmail.com>
From: Derrick Stolee <dstolee@microsoft.com>

The close_all_packs() method is now responsible for more than just pack-files. It also closes the commit-graph and the multi-pack-index. Rename the function to be more descriptive of its larger role. The name also fits because the input parameter is a raw_object_store.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
---
 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 +-
 object.c               | 2 +-
 packfile.c             | 2 +-
 packfile.h             | 2 +-
 11 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/builtin/am.c b/builtin/am.c
index 58a2aef28b..9315d32d2a 100644
--- a/builtin/am.c
+++ b/builtin/am.c
@@ -1800,7 +1800,7 @@ static void am_run(struct am_state *state, int resume)
 	 */
 	if (!state->rebasing) {
 		am_destroy(state);
-		close_all_packs(the_repository->objects);
+		close_object_store(the_repository->objects);
 		run_command_v_opt(argv_gc_auto, RUN_GIT_CMD);
 	}
 }
diff --git a/builtin/clone.c b/builtin/clone.c
index 50bde99618..82ce682c80 100644
--- a/builtin/clone.c
+++ b/builtin/clone.c
@@ -1240,7 +1240,7 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
 	transport_disconnect(transport);
 
 	if (option_dissociate) {
-		close_all_packs(the_repository->objects);
+		close_object_store(the_repository->objects);
 		dissociate_from_references();
 	}
 
diff --git a/builtin/fetch.c b/builtin/fetch.c
index b620fd54b4..3aec95608f 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -1670,7 +1670,7 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
 
 	string_list_clear(&list, 0);
 
-	close_all_packs(the_repository->objects);
+	close_object_store(the_repository->objects);
 
 	argv_array_pushl(&argv_gc_auto, "gc", "--auto", NULL);
 	if (verbosity < 0)
diff --git a/builtin/gc.c b/builtin/gc.c
index df2573f124..20c8f1bfe8 100644
--- a/builtin/gc.c
+++ b/builtin/gc.c
@@ -632,7 +632,7 @@ int cmd_gc(int argc, const char **argv, const char *prefix)
 	gc_before_repack();
 
 	if (!repository_format_precious_objects) {
-		close_all_packs(the_repository->objects);
+		close_object_store(the_repository->objects);
 		if (run_command_v_opt(repack.argv, RUN_GIT_CMD))
 			die(FAILED_RUN, repack.argv[0]);
 
@@ -660,7 +660,7 @@ int cmd_gc(int argc, const char **argv, const char *prefix)
 	report_garbage = report_pack_garbage;
 	reprepare_packed_git(the_repository);
 	if (pack_garbage.nr > 0) {
-		close_all_packs(the_repository->objects);
+		close_object_store(the_repository->objects);
 		clean_pack_garbage();
 	}
 
diff --git a/builtin/merge.c b/builtin/merge.c
index e47d77baee..72d7a7c909 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -449,7 +449,7 @@ static void finish(struct commit *head_commit,
 			 * We ignore errors in 'gc --auto', since the
 			 * user should see them.
 			 */
-			close_all_packs(the_repository->objects);
+			close_object_store(the_repository->objects);
 			run_command_v_opt(argv_gc_auto, RUN_GIT_CMD);
 		}
 	}
diff --git a/builtin/rebase.c b/builtin/rebase.c
index 7c7bc13e91..ed30fcd633 100644
--- a/builtin/rebase.c
+++ b/builtin/rebase.c
@@ -328,7 +328,7 @@ static int finish_rebase(struct rebase_options *opts)
 
 	delete_ref(NULL, "REBASE_HEAD", NULL, REF_NO_DEREF);
 	apply_autostash(opts);
-	close_all_packs(the_repository->objects);
+	close_object_store(the_repository->objects);
 	/*
 	 * We ignore errors in 'gc --auto', since the
 	 * user should see them.
diff --git a/builtin/receive-pack.c b/builtin/receive-pack.c
index d58b7750b6..92cd1f508c 100644
--- a/builtin/receive-pack.c
+++ b/builtin/receive-pack.c
@@ -2032,7 +2032,7 @@ int cmd_receive_pack(int argc, const char **argv, const char *prefix)
 			proc.git_cmd = 1;
 			proc.argv = argv_gc_auto;
 
-			close_all_packs(the_repository->objects);
+			close_object_store(the_repository->objects);
 			if (!start_command(&proc)) {
 				if (use_sideband)
 					copy_to_sideband(proc.err, -1, NULL);
diff --git a/builtin/repack.c b/builtin/repack.c
index 67f8978043..4de8b6600c 100644
--- a/builtin/repack.c
+++ b/builtin/repack.c
@@ -419,7 +419,7 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
 	if (!names.nr && !po_args.quiet)
 		printf_ln(_("Nothing new to pack."));
 
-	close_all_packs(the_repository->objects);
+	close_object_store(the_repository->objects);
 
 	/*
 	 * Ok we have prepared all new packfiles.
diff --git a/object.c b/object.c
index e81d47a79c..cf1a2b7086 100644
--- a/object.c
+++ b/object.c
@@ -517,7 +517,7 @@ void raw_object_store_clear(struct raw_object_store *o)
 	o->loaded_alternates = 0;
 
 	INIT_LIST_HEAD(&o->packed_git_mru);
-	close_all_packs(o);
+	close_object_store(o);
 	o->packed_git = NULL;
 }
 
diff --git a/packfile.c b/packfile.c
index ce12bffe3e..017046fcf9 100644
--- a/packfile.c
+++ b/packfile.c
@@ -337,7 +337,7 @@ void close_pack(struct packed_git *p)
 	close_pack_index(p);
 }
 
-void close_all_packs(struct raw_object_store *o)
+void close_object_store(struct raw_object_store *o)
 {
 	struct packed_git *p;
 
diff --git a/packfile.h b/packfile.h
index d70c6d9afb..e95e389eb8 100644
--- a/packfile.h
+++ b/packfile.h
@@ -81,7 +81,7 @@ extern uint32_t get_pack_fanout(struct packed_git *p, uint32_t value);
 extern unsigned char *use_pack(struct packed_git *, struct pack_window **, off_t, unsigned long *);
 extern void close_pack_windows(struct packed_git *);
 extern void close_pack(struct packed_git *);
-extern void close_all_packs(struct raw_object_store *o);
+extern void close_object_store(struct raw_object_store *o);
 extern void unuse_pack(struct pack_window **);
 extern void clear_delta_base_cache(void);
 extern struct packed_git *add_packed_git(const char *path, size_t path_len, int local);
-- 
gitgitgadget
Previous: Derrick Stolee via GitGitGadgetNext: Johannes Schindelin
Message 4 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.