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

[PATCH v3 01/19] hash.h: provide constants for the hash IDs

From
Han-Wen Nienhuys via GitGitGadget <gitgitgadget@gmail.com>
Date
Sep 28, 2021, 15:09 UTC
Message-ID
<b2f8dc32bfcea771b8a6c10973cad6380b7a3f7a.1632841817.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.1081.v3.git.git.1632841817.gitgitgadget@gmail.com>
From: Han-Wen Nienhuys <hanwen@google.com>

This will simplify referencing them from code that is not deeply integrated with Git, in particular, the reftable library.

Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
---
 hash.h        | 6 ++++++
 object-file.c | 7 ++-----
 2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/hash.h b/hash.h
index 9e25c40e9ac..5d40368f18a 100644
--- a/hash.h
+++ b/hash.h
@@ -95,12 +95,18 @@ static inline void git_SHA256_Clone(git_SHA256_CTX *dst, const git_SHA256_CTX *s
 /* Number of algorithms supported (including unknown). */
 #define GIT_HASH_NALGOS (GIT_HASH_SHA256 + 1)
 
+/* "sha1", big-endian */
+#define GIT_SHA1_FORMAT_ID 0x73686131
+
 /* The length in bytes and in hex digits of an object name (SHA-1 value). */
 #define GIT_SHA1_RAWSZ 20
 #define GIT_SHA1_HEXSZ (2 * GIT_SHA1_RAWSZ)
 /* The block size of SHA-1. */
 #define GIT_SHA1_BLKSZ 64
 
+/* "s256", big-endian */
+#define GIT_SHA256_FORMAT_ID 0x73323536
+
 /* The length in bytes and in hex digits of an object name (SHA-256 value). */
 #define GIT_SHA256_RAWSZ 32
 #define GIT_SHA256_HEXSZ (2 * GIT_SHA256_RAWSZ)
diff --git a/object-file.c b/object-file.c
index be4f94ecf3b..0ed2a35de73 100644
--- a/object-file.c
+++ b/object-file.c
@@ -165,7 +165,6 @@ static void git_hash_unknown_final_oid(struct object_id *oid, git_hash_ctx *ctx)
 	BUG("trying to finalize unknown hash");
 }
 
-
 const struct git_hash_algo hash_algos[GIT_HASH_NALGOS] = {
 	{
 		NULL,
@@ -184,8 +183,7 @@ const struct git_hash_algo hash_algos[GIT_HASH_NALGOS] = {
 	},
 	{
 		"sha1",
-		/* "sha1", big-endian */
-		0x73686131,
+		GIT_SHA1_FORMAT_ID,
 		GIT_SHA1_RAWSZ,
 		GIT_SHA1_HEXSZ,
 		GIT_SHA1_BLKSZ,
@@ -200,8 +198,7 @@ const struct git_hash_algo hash_algos[GIT_HASH_NALGOS] = {
 	},
 	{
 		"sha256",
-		/* "s256", big-endian */
-		0x73323536,
+		GIT_SHA256_FORMAT_ID,
 		GIT_SHA256_RAWSZ,
 		GIT_SHA256_HEXSZ,
 		GIT_SHA256_BLKSZ,
-- 
gitgitgadget
Previous: Han-Wen Nienhuys via GitGitGadgetNext: Han-Wen Nienhuys via GitGitGadget
Message 60 of 111 in “Adds reftable library code from https://github.com/hanwen/reftable.”
  1. 00/19 Adds reftable library code from https://github.com/hanwen/reftable.Han-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  2. 01/19 hash.h: provide constants for the hash IDsHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  3. 03/19 reftable: add error related functionalityHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  4. 02/19 reftable: RFC: add LICENSEHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  5. 04/19 reftable: utility functionsHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  6. 05/19 reftable: add blocksource, an abstraction for random access readsHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  7. 07/19 Provide zlib's uncompress2 from compat/zlib-compat.cHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  8. fixup! Provide zlib's uncompress2 from compat/zlib-compat.cCarlo Marcelo Arenas Belón, Sep 2, 2021
  9. 06/19 reftable: (de)serialization for the polymorphic record type.Han-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  10. 09/19 reftable: a generic binary tree implementationHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  11. 08/19 reftable: reading/writing blocksHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  12. 11/19 reftable: generic interface to tablesHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  13. 14/19 reftable: add a heap-based priority queue for reftable recordsHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  14. 10/19 reftable: write reftable filesHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  15. 13/19 reftable: reftable file level testsHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  16. 12/19 reftable: read reftable filesHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  17. 15/19 reftable: add merged table viewHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  18. 16/19 reftable: implement refname validationHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  19. 18/19 reftable: add dump utilityHan-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  20. 19/19 Add "test-tool dump-reftable" command.Han-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  21. 17/19 reftable: implement stack, a mutable database of reftable files.Han-Wen Nienhuys via GitGitGadget, Aug 30, 2021
  22. Han-Wen NienhuysAug 30, 2021
  23. 0/4 fixup for hn/reftableCarlo Marcelo Arenas Belón, Sep 8, 2021
  24. 1/4 fixup! reftable: reading/writing blocksCarlo Marcelo Arenas Belón, Sep 8, 2021
  25. 2/4 fixup! reftable: utility functionsCarlo Marcelo Arenas Belón, Sep 8, 2021
  26. 3/4 fixup! Provide zlib's uncompress2 from compat/zlib-compat.cCarlo Marcelo Arenas Belón, Sep 8, 2021
  27. 4/4 fixup! reftable: utility functionsCarlo Marcelo Arenas Belón, Sep 8, 2021
  28. Junio C HamanoSep 8, 2021
  29. 00/19 Adds reftable library code from https://github.com/hanwen/reftable.Han-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  30. 01/19 hash.h: provide constants for the hash IDsHan-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  31. 02/19 reftable: RFC: add LICENSEHan-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  32. 03/19 reftable: add error related functionalityHan-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  33. 04/19 reftable: utility functionsHan-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  34. 06/19 reftable: (de)serialization for the polymorphic record type.Han-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  35. 07/19 Provide zlib's uncompress2 from compat/zlib-compat.cHan-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  36. Carlo ArenasSep 15, 2021
  37. 05/19 reftable: add blocksource, an abstraction for random access readsHan-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  38. 08/19 reftable: reading/writing blocksHan-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  39. Ævar Arnfjörð BjarmasonSep 24, 2021
  40. 09/19 reftable: a generic binary tree implementationHan-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  41. 10/19 reftable: write reftable filesHan-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  42. 11/19 reftable: generic interface to tablesHan-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  43. 12/19 reftable: read reftable filesHan-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  44. 14/19 reftable: add a heap-based priority queue for reftable recordsHan-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  45. 13/19 reftable: reftable file level testsHan-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  46. 16/19 reftable: implement refname validationHan-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  47. 15/19 reftable: add merged table viewHan-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  48. 17/19 reftable: implement stack, a mutable database of reftable files.Han-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  49. 18/19 reftable: add dump utilityHan-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  50. 19/19 Add "test-tool dump-reftable" command.Han-Wen Nienhuys via GitGitGadget, Sep 9, 2021
  51. Junio C HamanoSep 9, 2021
  52. Junio C HamanoSep 9, 2021
  53. Han-Wen NienhuysSep 13, 2021
  54. Junio C HamanoSep 13, 2021
  55. Carlo ArenasSep 13, 2021
  56. Junio C HamanoSep 13, 2021
  57. 00/19 Adds reftable library code from https://github.com/hanwen/reftable.Han-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  58. 02/19 reftable: RFC: add LICENSEHan-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  59. 03/19 reftable: add error related functionalityHan-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  60. 01/19 hash.h: provide constants for the hash IDsHan-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  61. 04/19 reftable: utility functionsHan-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  62. 05/19 reftable: add blocksource, an abstraction for random access readsHan-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  63. 06/19 reftable: (de)serialization for the polymorphic record type.Han-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  64. 07/19 Provide zlib's uncompress2 from compat/zlib-compat.cHan-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  65. 09/19 reftable: a generic binary tree implementationHan-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  66. 08/19 reftable: reading/writing blocksHan-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  67. squash! reftable: reading/writing blocksCarlo Marcelo Arenas Belón, Sep 30, 2021
  68. Han-Wen NienhuysOct 7, 2021
  69. 10/19 reftable: write reftable filesHan-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  70. 11/19 reftable: generic interface to tablesHan-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  71. 12/19 reftable: read reftable filesHan-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  72. 15/19 reftable: add merged table viewHan-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  73. 13/19 reftable: reftable file level testsHan-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  74. 14/19 reftable: add a heap-based priority queue for reftable recordsHan-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  75. 16/19 reftable: implement refname validationHan-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  76. 17/19 reftable: implement stack, a mutable database of reftable files.Han-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  77. 18/19 reftable: add dump utilityHan-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  78. 19/19 Add "test-tool dump-reftable" command.Han-Wen Nienhuys via GitGitGadget, Sep 28, 2021
  79. Junio C HamanoSep 28, 2021
  80. Ævar Arnfjörð BjarmasonOct 2, 2021
  81. hn/reftable "fixes"Carlo Marcelo Arenas Belón, Sep 30, 2021
  82. 1/4 fixup! reftable: add a heap-based priority queue for reftable recordsCarlo Marcelo Arenas Belón, Sep 30, 2021
  83. 2/4 fixup! reftable: implement stack, a mutable database of reftable files.Carlo Marcelo Arenas Belón, Sep 30, 2021
  84. C++(C99)-style comments in git.gitÆvar Arnfjörð Bjarmason, Oct 1, 2021
  85. 3/4 config.mak.uname: last release and snapshots of Minix still use zlib 1.2.3Carlo Marcelo Arenas Belón, Sep 30, 2021
  86. 4/4 reftable: avoid non portable compile time pointer to functionCarlo Marcelo Arenas Belón, Sep 30, 2021
  87. Junio C HamanoSep 30, 2021
  88. 00/19 Adds reftable library code from https://github.com/hanwen/reftable.Han-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  89. 01/19 hash.h: provide constants for the hash IDsHan-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  90. 02/19 reftable: add LICENSEHan-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  91. 03/19 reftable: add error related functionalityHan-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  92. 04/19 reftable: utility functionsHan-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  93. 05/19 reftable: add blocksource, an abstraction for random access readsHan-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  94. 09/19 reftable: a generic binary tree implementationHan-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  95. 10/19 reftable: write reftable filesHan-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  96. 11/19 reftable: generic interface to tablesHan-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  97. 08/19 reftable: reading/writing blocksHan-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  98. 12/19 reftable: read reftable filesHan-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  99. 06/19 reftable: (de)serialization for the polymorphic record type.Han-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  100. 07/19 Provide zlib's uncompress2 from compat/zlib-compat.cHan-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  101. 13/19 reftable: reftable file level testsHan-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  102. 14/19 reftable: add a heap-based priority queue for reftable recordsHan-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  103. 15/19 reftable: add merged table viewHan-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  104. reftable tests: use C syntax compatible with old xlcÆvar Arnfjörð Bjarmason, Jan 13, 2022
  105. Han-Wen NienhuysJan 13, 2022
  106. Ævar Arnfjörð BjarmasonJan 13, 2022
  107. Junio C HamanoJan 13, 2022
  108. 16/19 reftable: implement refname validationHan-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  109. 18/19 reftable: add dump utilityHan-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  110. 17/19 reftable: implement stack, a mutable database of reftable files.Han-Wen Nienhuys via GitGitGadget, Oct 7, 2021
  111. 19/19 Add "test-tool dump-reftable" command.Han-Wen Nienhuys via GitGitGadget, Oct 7, 2021

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.