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

[PATCH 05/17] pack-objects: convert locate_object_entry_hash() to object_id

From
Jeff King <peff@peff.net>
Date
Jun 20, 2019, 07:41 UTC
Message-ID
<20190620074106.GE3713@sigill.intra.peff.net>
In-Reply-To
<20190620073952.GA1539@sigill.intra.peff.net>

There are no callers of locate_object_entry_hash() that aren't just passing us the "hash" member of a "struct object_id". Let's take the whole struct, which gets us closer to removing all raw sha1 variables.

Signed-off-by: Jeff King <peff@peff.net>
---
 pack-objects.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/pack-objects.c b/pack-objects.c
index 49fdf52ea6..00a5f6e0ec 100644
--- a/pack-objects.c
+++ b/pack-objects.c
@@ -6,17 +6,17 @@
 #include "config.h"
 
 static uint32_t locate_object_entry_hash(struct packing_data *pdata,
-					 const unsigned char *sha1,
+					 const struct object_id *oid,
 					 int *found)
 {
 	uint32_t i, mask = (pdata->index_size - 1);
 
-	i = sha1hash(sha1) & mask;
+	i = sha1hash(oid->hash) & mask;
 
 	while (pdata->index[i] > 0) {
 		uint32_t pos = pdata->index[i] - 1;
 
-		if (hasheq(sha1, pdata->objects[pos].idx.oid.hash)) {
+		if (oideq(oid, &pdata->objects[pos].idx.oid)) {
 			*found = 1;
 			return i;
 		}
@@ -56,7 +56,7 @@ static void rehash_objects(struct packing_data *pdata)
 	for (i = 0; i < pdata->nr_objects; i++) {
 		int found;
 		uint32_t ix = locate_object_entry_hash(pdata,
-						       entry->idx.oid.hash,
+						       &entry->idx.oid,
 						       &found);
 
 		if (found)
@@ -77,7 +77,7 @@ struct object_entry *packlist_find(struct packing_data *pdata,
 	if (!pdata->index_size)
 		return NULL;
 
-	i = locate_object_entry_hash(pdata, oid->hash, &found);
+	i = locate_object_entry_hash(pdata, oid, &found);
 
 	if (index_pos)
 		*index_pos = i;
-- 
2.22.0.732.g5402924b4b
Previous: Jeff KingNext: Jeff King
Message 16 of 37 in “Test oidmap”
  1. 0/4 Test oidmapChristian Couder, Jun 15, 2019
  2. 1/4 t/helper: add test-oidmap.cChristian Couder, Jun 15, 2019
  3. 3/4 oidmap: use sha1hash() instead of static hash() functionChristian Couder, Jun 15, 2019
  4. 2/4 t: add t0016-oidmap.shChristian Couder, Jun 15, 2019
  5. 4/4 test-hashmap: remove 'hash' commandChristian Couder, Jun 15, 2019
  6. Jeff KingJun 19, 2019
  7. Jeff KingJun 19, 2019
  8. Christian CouderJun 19, 2019
  9. 0/17 drop non-object_id hashingJeff King, Jun 20, 2019
  10. 01/17 describe: fix accidental oid/hash type-punningJeff King, Jun 20, 2019
  11. Junio C HamanoJun 20, 2019
  12. Jeff KingJun 20, 2019
  13. 02/17 upload-pack: rename a "sha1" variable to "oid"Jeff King, Jun 20, 2019
  14. 03/17 pack-bitmap-write: convert some helpers to use object_idJeff King, Jun 20, 2019
  15. 04/17 pack-objects: convert packlist_find() to use object_idJeff King, Jun 20, 2019
  16. 05/17 pack-objects: convert locate_object_entry_hash() to object_idJeff King, Jun 20, 2019
  17. 06/17 object: convert lookup_unknown_object() to use object_idJeff King, Jun 20, 2019
  18. 07/17 object: convert lookup_object() to use object_idJeff King, Jun 20, 2019
  19. 08/17 object: convert internal hash_obj() to object_idJeff King, Jun 20, 2019
  20. 09/17 object: convert create_object() to use object_idJeff King, Jun 20, 2019
  21. Ramsay JonesJun 20, 2019
  22. Jeff KingJun 20, 2019
  23. 10/17 khash: drop broken oid_map typedefJeff King, Jun 20, 2019
  24. 11/17 khash: rename kh_oid_t to kh_oid_setJeff King, Jun 20, 2019
  25. 12/17 delta-islands: convert island_marks khash to use oidsJeff King, Jun 20, 2019
  26. Jonathan TanJun 20, 2019
  27. Jeff KingJun 20, 2019
  28. 13/17 pack-bitmap: convert khash_sha1 maps into kh_oid_mapJeff King, Jun 20, 2019
  29. 14/17 khash: drop sha1-specific map typesJeff King, Jun 20, 2019
  30. 15/17 khash: rename oid helper functionsJeff King, Jun 20, 2019
  31. Junio C HamanoJun 20, 2019
  32. Jeff KingJun 20, 2019
  33. René ScharfeJun 23, 2019
  34. Jeff KingJun 23, 2019
  35. 16/17 hash.h: move object_id definition from cache.hJeff King, Jun 20, 2019
  36. Junio C HamanoJun 20, 2019
  37. 17/17 hashmap: convert sha1hash() to oidhash()Jeff King, Jun 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.