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

[PATCH v2 8/9] builtin/pack-objects: introduce obj_is_packed()

From
Christian Couder <christian.couder@gmail.com>
Date
Oct 19, 2019, 10:35 UTC
Message-ID
<20191019103531.23274-9-chriscool@tuxfamily.org>
In-Reply-To
<20191019103531.23274-1-chriscool@tuxfamily.org>
From: Jeff King <peff@peff.net>

Let's refactor the way we check if an object is packed by introducing obj_is_packed(). This function is now a simple wrapper around packlist_find(), but it will evolve in a following commit.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 builtin/pack-objects.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index 4fcfcf6097..08898331ef 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -2553,6 +2553,11 @@ static void ll_find_deltas(struct object_entry **list, unsigned list_size,
 	free(p);
 }
 
+static int obj_is_packed(const struct object_id *oid)
+{
+	return !!packlist_find(&to_pack, oid);
+}
+
 static void add_tag_chain(const struct object_id *oid)
 {
 	struct tag *tag;
@@ -2564,7 +2569,7 @@ static void add_tag_chain(const struct object_id *oid)
 	 * it was included via bitmaps, we would not have parsed it
 	 * previously).
 	 */
-	if (packlist_find(&to_pack, oid))
+	if (obj_is_packed(oid))
 		return;
 
 	tag = lookup_tag(the_repository, oid);
@@ -2588,7 +2593,7 @@ static int add_ref_tag(const char *path, const struct object_id *oid, int flag,
 
 	if (starts_with(path, "refs/tags/") && /* is a tag? */
 	    !peel_ref(path, &peeled)    && /* peelable? */
-	    packlist_find(&to_pack, &peeled))      /* object packed? */
+	    obj_is_packed(&peeled)) /* object packed? */
 		add_tag_chain(oid);
 	return 0;
 }
-- 
2.24.0.rc0.9.gef620577e2
Previous: Christian CouderNext: Christian Couder
Message 15 of 22 in “Rewrite packfile reuse code”
  1. 0/9 Rewrite packfile reuse codeChristian Couder, Oct 19, 2019
  2. 1/9 builtin/pack-objects: report reused packfile objectsChristian Couder, Oct 19, 2019
  3. 2/9 packfile: expose get_delta_base()Christian Couder, Oct 19, 2019
  4. 3/9 ewah/bitmap: introduce bitmap_word_alloc()Christian Couder, Oct 19, 2019
  5. Jonathan TanOct 22, 2019
  6. Christian CouderOct 26, 2019
  7. 4/9 pack-bitmap: don't rely on bitmap_git->reuse_objectsChristian Couder, Oct 19, 2019
  8. 5/9 pack-bitmap: introduce bitmap_walk_contains()Christian Couder, Oct 19, 2019
  9. Philip OakleyOct 19, 2019
  10. Christian CouderOct 19, 2019
  11. Philip OakleyOct 19, 2019
  12. Jeff KingOct 19, 2019
  13. 6/9 csum-file: introduce hashfile_total()Christian Couder, Oct 19, 2019
  14. 7/9 pack-objects: introduce pack.allowPackReuseChristian Couder, Oct 19, 2019
  15. 8/9 builtin/pack-objects: introduce obj_is_packed()Christian Couder, Oct 19, 2019
  16. 9/9 pack-objects: improve partial packfile reuseChristian Couder, Oct 19, 2019
  17. Philip OakleyOct 19, 2019
  18. Christian CouderOct 19, 2019
  19. Jeff KingOct 19, 2019
  20. Philip OakleyOct 20, 2019
  21. Jonathan TanOct 22, 2019
  22. Christian CouderOct 26, 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.