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

[PATCH v2 12/12] bulk-checkin: abstract SHA-1 usage

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Feb 1, 2018, 02:18 UTC
Message-ID
<20180201021848.533188-13-sandals@crustytoothpaste.net>
In-Reply-To
<20180201021848.533188-1-sandals@crustytoothpaste.net>
Convert uses of the direct SHA-1 functions to use the_hash_algo instead.
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
---
 bulk-checkin.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/bulk-checkin.c b/bulk-checkin.c
index 5f79ed6ea3..8bcd1c8665 100644
--- a/bulk-checkin.c
+++ b/bulk-checkin.c
@@ -93,7 +93,7 @@ static int already_written(struct bulk_checkin_state *state, unsigned char sha1[
  * with a new pack.
  */
 static int stream_to_pack(struct bulk_checkin_state *state,
-			  git_SHA_CTX *ctx, off_t *already_hashed_to,
+			  git_hash_ctx *ctx, off_t *already_hashed_to,
 			  int fd, size_t size, enum object_type type,
 			  const char *path, unsigned flags)
 {
@@ -127,7 +127,7 @@ static int stream_to_pack(struct bulk_checkin_state *state,
 				if (rsize < hsize)
 					hsize = rsize;
 				if (hsize)
-					git_SHA1_Update(ctx, ibuf, hsize);
+					the_hash_algo->update_fn(ctx, ibuf, hsize);
 				*already_hashed_to = offset;
 			}
 			s.next_in = ibuf;
@@ -192,7 +192,7 @@ static int deflate_to_pack(struct bulk_checkin_state *state,
 			   unsigned flags)
 {
 	off_t seekback, already_hashed_to;
-	git_SHA_CTX ctx;
+	git_hash_ctx ctx;
 	unsigned char obuf[16384];
 	unsigned header_len;
 	struct hashfile_checkpoint checkpoint;
@@ -204,8 +204,8 @@ static int deflate_to_pack(struct bulk_checkin_state *state,
 
 	header_len = xsnprintf((char *)obuf, sizeof(obuf), "%s %" PRIuMAX,
 			       typename(type), (uintmax_t)size) + 1;
-	git_SHA1_Init(&ctx);
-	git_SHA1_Update(&ctx, obuf, header_len);
+	the_hash_algo->init_fn(&ctx);
+	the_hash_algo->update_fn(&ctx, obuf, header_len);
 
 	/* Note: idx is non-NULL when we are writing */
 	if ((flags & HASH_WRITE_OBJECT) != 0)
@@ -236,7 +236,7 @@ static int deflate_to_pack(struct bulk_checkin_state *state,
 		if (lseek(fd, seekback, SEEK_SET) == (off_t) -1)
 			return error("cannot seek back");
 	}
-	git_SHA1_Final(result_sha1, &ctx);
+	the_hash_algo->final_fn(result_sha1, &ctx);
 	if (!idx)
 		return 0;
 
Previous: brian m. carlsonNext: brian m. carlson
Message 9 of 19 in “object_id part 11 (the_hash_algo)”
  1. 00/12 object_id part 11 (the_hash_algo)brian m. carlson, Feb 1, 2018
  2. 01/12 hash: move SHA-1 macros to hash.hbrian m. carlson, Feb 1, 2018
  3. Junio C HamanoFeb 2, 2018
  4. 02/12 hash: create union for hash context allocationbrian m. carlson, Feb 1, 2018
  5. 03/12 builtin/index-pack: improve hash function abstractionbrian m. carlson, Feb 1, 2018
  6. 07/12 pack-check: convert various uses of SHA-1 to abstract formsbrian m. carlson, Feb 1, 2018
  7. 06/12 fast-import: switch various uses of SHA-1 to the_hash_algobrian m. carlson, Feb 1, 2018
  8. 08/12 pack-write: switch various SHA-1 values to abstract formsbrian m. carlson, Feb 1, 2018
  9. 12/12 bulk-checkin: abstract SHA-1 usagebrian m. carlson, Feb 1, 2018
  10. 10/12 csum-file: rename sha1file to hashfilebrian m. carlson, Feb 1, 2018
  11. 11/12 csum-file: abstract uses of SHA-1brian m. carlson, Feb 1, 2018
  12. 09/12 read-cache: abstract away uses of SHA-1brian m. carlson, Feb 1, 2018
  13. 04/12 builtin/unpack-objects: switch uses of SHA-1 to the_hash_algobrian m. carlson, Feb 1, 2018
  14. 05/12 sha1_file: switch uses of SHA-1 to the_hash_algobrian m. carlson, Feb 1, 2018
  15. Stefan BellerFeb 1, 2018
  16. Junio C HamanoFeb 2, 2018
  17. brian m. carlsonFeb 6, 2018
  18. Junio C HamanoFeb 6, 2018
  19. hash: update obsolete reference to SHA1_HEADERbrian m. carlson, Feb 8, 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.