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

[PATCH v2 05/42] packfile: convert has_sha1_pack to object_id

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
May 2, 2018, 00:25 UTC
Message-ID
<20180502002610.915892-6-sandals@crustytoothpaste.net>
In-Reply-To
<20180502002610.915892-1-sandals@crustytoothpaste.net>

Convert this function to take a pointer to struct object_id and rename it has_object_pack for consistency with has_object_file.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
---
 builtin/count-objects.c | 2 +-
 builtin/fsck.c          | 2 +-
 builtin/prune-packed.c  | 2 +-
 diff.c                  | 2 +-
 packfile.c              | 4 ++--
 packfile.h              | 2 +-
 revision.c              | 2 +-
 7 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/builtin/count-objects.c b/builtin/count-objects.c
index b054713e1a..d51e2ce1ec 100644
--- a/builtin/count-objects.c
+++ b/builtin/count-objects.c
@@ -66,7 +66,7 @@ static int count_loose(const struct object_id *oid, const char *path, void *data
 	else {
 		loose_size += on_disk_bytes(st);
 		loose++;
-		if (verbose && has_sha1_pack(oid->hash))
+		if (verbose && has_object_pack(oid))
 			packed_loose++;
 	}
 	return 0;
diff --git a/builtin/fsck.c b/builtin/fsck.c
index 087360a675..3eb82ac44f 100644
--- a/builtin/fsck.c
+++ b/builtin/fsck.c
@@ -227,7 +227,7 @@ static void check_reachable_object(struct object *obj)
 	if (!(obj->flags & HAS_OBJ)) {
 		if (is_promisor_object(&obj->oid))
 			return;
-		if (has_sha1_pack(obj->oid.hash))
+		if (has_object_pack(&obj->oid))
 			return; /* it is in pack - forget about it */
 		printf("missing %s %s\n", printable_type(obj),
 			describe_object(obj));
diff --git a/builtin/prune-packed.c b/builtin/prune-packed.c
index 419238171d..4ff525e50f 100644
--- a/builtin/prune-packed.c
+++ b/builtin/prune-packed.c
@@ -25,7 +25,7 @@ static int prune_object(const struct object_id *oid, const char *path,
 {
 	int *opts = data;
 
-	if (!has_sha1_pack(oid->hash))
+	if (!has_object_pack(oid))
 		return 0;
 
 	if (*opts & PRUNE_PACKED_DRY_RUN)
diff --git a/diff.c b/diff.c
index 1289df4b1f..314c57e3c0 100644
--- a/diff.c
+++ b/diff.c
@@ -3472,7 +3472,7 @@ static int reuse_worktree_file(const char *name, const struct object_id *oid, in
 	 * objects however would tend to be slower as they need
 	 * to be individually opened and inflated.
 	 */
-	if (!FAST_WORKING_DIRECTORY && !want_file && has_sha1_pack(oid->hash))
+	if (!FAST_WORKING_DIRECTORY && !want_file && has_object_pack(oid))
 		return 0;
 
 	/*
diff --git a/packfile.c b/packfile.c
index 5c219d0229..e65f943664 100644
--- a/packfile.c
+++ b/packfile.c
@@ -1854,10 +1854,10 @@ int find_pack_entry(struct repository *r, const unsigned char *sha1, struct pack
 	return 0;
 }
 
-int has_sha1_pack(const unsigned char *sha1)
+int has_object_pack(const struct object_id *oid)
 {
 	struct pack_entry e;
-	return find_pack_entry(the_repository, sha1, &e);
+	return find_pack_entry(the_repository, oid->hash, &e);
 }
 
 int has_pack_index(const unsigned char *sha1)
diff --git a/packfile.h b/packfile.h
index a92c0b241c..14ca34bcbd 100644
--- a/packfile.h
+++ b/packfile.h
@@ -136,7 +136,7 @@ extern const struct packed_git *has_packed_and_bad(const unsigned char *sha1);
  */
 extern int find_pack_entry(struct repository *r, const unsigned char *sha1, struct pack_entry *e);
 
-extern int has_sha1_pack(const unsigned char *sha1);
+extern int has_object_pack(const struct object_id *oid);
 
 extern int has_pack_index(const unsigned char *sha1);
 
diff --git a/revision.c b/revision.c
index b42c836d7a..ce0e7b71f2 100644
--- a/revision.c
+++ b/revision.c
@@ -3086,7 +3086,7 @@ enum commit_action get_commit_action(struct rev_info *revs, struct commit *commi
 {
 	if (commit->object.flags & SHOWN)
 		return commit_ignore;
-	if (revs->unpacked && has_sha1_pack(commit->object.oid.hash))
+	if (revs->unpacked && has_object_pack(&commit->object.oid))
 		return commit_ignore;
 	if (commit->object.flags & UNINTERESTING)
 		return commit_ignore;
Previous: brian m. carlsonNext: brian m. carlson
Message 7 of 45 in “object_id part 13”
  1. 00/42 object_id part 13brian m. carlson, May 2, 2018
  2. 01/42 cache: add a function to read an object ID from a bufferbrian m. carlson, May 2, 2018
  3. 02/42 server-info: remove unused members from struct pack_infobrian m. carlson, May 2, 2018
  4. 06/42 sha1-file: convert freshen functions to object_idbrian m. carlson, May 2, 2018
  5. 07/42 packfile: convert find_pack_entry to object_idbrian m. carlson, May 2, 2018
  6. 11/42 tree-walk: avoid hard-coded 20 constantbrian m. carlson, May 2, 2018
  7. 05/42 packfile: convert has_sha1_pack to object_idbrian m. carlson, May 2, 2018
  8. 13/42 fsck: convert static functions to struct object_idbrian m. carlson, May 2, 2018
  9. 17/42 pack-redundant: convert linked lists to use struct object_idbrian m. carlson, May 2, 2018
  10. 15/42 split-index: convert struct split_index to object_idbrian m. carlson, May 2, 2018
  11. 14/42 submodule-config: convert structures to object_idbrian m. carlson, May 2, 2018
  12. 18/42 index-pack: abstract away hash function constantbrian m. carlson, May 2, 2018
  13. 12/42 tree-walk: convert get_tree_entry_follow_symlinks to object_idbrian m. carlson, May 2, 2018
  14. 10/42 pack-redundant: abstract away hash algorithmbrian m. carlson, May 2, 2018
  15. 09/42 pack-objects: abstract away hash algorithmbrian m. carlson, May 2, 2018
  16. 27/42 builtin/am: convert uses of EMPTY_TREE_SHA1_BIN to the_hash_algobrian m. carlson, May 2, 2018
  17. 28/42 builtin/merge: switch tree functions to use object_idbrian m. carlson, May 2, 2018
  18. 25/42 builtin/receive-pack: avoid hard-coded constants for push certsbrian m. carlson, May 2, 2018
  19. 35/42 sha1_file: convert cached object code to struct object_idbrian m. carlson, May 2, 2018
  20. 38/42 dir: use the_hash_algo for empty blob object IDbrian m. carlson, May 2, 2018
  21. 37/42 sequencer: use the_hash_algo for empty tree object IDbrian m. carlson, May 2, 2018
  22. 36/42 cache-tree: use is_empty_tree_oidbrian m. carlson, May 2, 2018
  23. 41/42 add--interactive: compute the empty tree valuebrian m. carlson, May 2, 2018
  24. 39/42 sha1_file: only expose empty object constants through git_hash_algobrian m. carlson, May 2, 2018
  25. 26/42 sha1-file: add functions for hex empty tree and blob OIDsbrian m. carlson, May 2, 2018
  26. 42/42 merge-one-file: compute empty blob object IDbrian m. carlson, May 2, 2018
  27. 40/42 Update shell scripts to compute empty tree object IDbrian m. carlson, May 2, 2018
  28. 34/42 builtin/reset: convert use of EMPTY_TREE_SHA1_BINbrian m. carlson, May 2, 2018
  29. 33/42 builtin/receive-pack: convert one use of EMPTY_TREE_SHA1_HEXbrian m. carlson, May 2, 2018
  30. 32/42 wt-status: convert two uses of EMPTY_TREE_SHA1_HEXbrian m. carlson, May 2, 2018
  31. 31/42 submodule: convert several uses of EMPTY_TREE_SHA1_HEXbrian m. carlson, May 2, 2018
  32. 30/42 sequencer: convert one use of EMPTY_TREE_SHA1_HEXbrian m. carlson, May 2, 2018
  33. 29/42 merge: convert empty tree constant to the_hash_algobrian m. carlson, May 2, 2018
  34. 23/42 upload-pack: replace use of several hard-coded constantsbrian m. carlson, May 2, 2018
  35. 22/42 revision: replace use of hard-coded constantsbrian m. carlson, May 2, 2018
  36. 24/42 diff: specify abbreviation size in terms of the_hash_algobrian m. carlson, May 2, 2018
  37. 16/42 Update struct index_state to use struct object_idbrian m. carlson, May 2, 2018
  38. 21/42 http: eliminate hard-coded constantsbrian m. carlson, May 2, 2018
  39. 20/42 dir: convert struct untracked_cache_dir to object_idbrian m. carlson, May 2, 2018
  40. 19/42 commit: convert uses of get_sha1_hex to get_oid_hexbrian m. carlson, May 2, 2018
  41. 08/42 packfile: abstract away hash constant valuesbrian m. carlson, May 2, 2018
  42. 04/42 packfile: remove unused member from struct pack_entrybrian m. carlson, May 2, 2018
  43. 03/42 Remove unused member in struct object_contextbrian m. carlson, May 2, 2018
  44. Duy NguyenMay 2, 2018
  45. brian m. carlsonMay 2, 2018

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.