From: Patrick Steinhardt <ps@pks•im>
To: git@vger•kernel.org
Cc: Ghanshyam Thakkar <shyamthakkar001@gmail•com>,
"brian m. carlson" <sandals@crustytoothpaste•net>
Subject: [PATCH v2 00/20] Introduce `USE_THE_REPOSITORY_VARIABLE` macro
Date: Thu, 13 Jun 2024 08:13:21 +0200 [thread overview]
Message-ID: <cover.1718259125.git.ps@pks.im> (raw)
In-Reply-To: <cover.1718106284.git.ps@pks.im>
[-- Attachment #1: Type: text/plain, Size: 20271 bytes --]
Hi,
this is the second version of my patch series that introduce a new
`USE_THE_REPOSITORY_VARIABLE` macro. If undefined, then declarations
like `the_repository`, `the_hash_algo` and a subset of functions that
implicitly depend on either of these are hidden away. This is a step
towards fully deprecating and getting rid of this global state.
Changes compared to v1:
- Pull in gt/unit-test-oidtree at ed54840872 (t/: migrate
helper/test-oidtree.c to unit-tests/t-oidtree.c, 2024-06-08) as a
new dependency. I mostly did it because it makes commit 19
redundant, so I've it.
- As the base commit had to be rebuilt anyway I rebased on top of
d63586cb31 (The thirteenth batch, 2024-06-12).
- Rewrote the commit message of patch 16 to explain that this is
actually a bug that is getting fixed.
Thanks!
Patrick
Patrick Steinhardt (20):
hash: drop (mostly) unused `is_empty_{blob,tree}_sha1()` functions
hash: require hash algorithm in `hasheq()`, `hashcmp()` and
`hashclr()`
hash: require hash algorithm in `oidread()` and `oidclr()`
global: ensure that object IDs are always padded
hash: convert `oidcmp()` and `oideq()` to compare whole hash
hash: make `is_null_oid()` independent of `the_repository`
hash: require hash algorithm in `is_empty_{blob,tree}_oid()`
hash: require hash algorithm in `empty_tree_oid_hex()`
global: introduce `USE_THE_REPOSITORY_VARIABLE` macro
refs: avoid include cycle with "repository.h"
hash-ll: merge with "hash.h"
http-fetch: don't crash when parsing packfile without a repo
oidset: pass hash algorithm when parsing file
protocol-caps: use hash algorithm from passed-in repository
replace-object: use hash algorithm from passed-in repository
compat/fsmonitor: fix socket path in networked SHA256 repos
t/helper: use correct object hash in partial-clone helper
t/helper: fix segfault in "oid-array" command without repository
t/helper: remove dependency on `the_repository` in "proc-receive"
hex: guard declarations with `USE_THE_REPOSITORY_VARIABLE`
add-interactive.c | 4 +-
add-patch.c | 4 +-
apply.c | 4 +-
apply.h | 2 +-
archive-tar.c | 3 +
archive-zip.c | 3 +
archive.c | 2 +
attr.c | 2 +
bisect.c | 2 +
blame.c | 4 +-
bloom.c | 1 +
branch.c | 2 +
builtin.h | 8 +
builtin/am.c | 8 +-
builtin/blame.c | 3 +-
builtin/fast-export.c | 2 +-
builtin/fast-import.c | 43 ++-
builtin/fetch-pack.c | 4 +-
builtin/index-pack.c | 11 +-
builtin/log.c | 4 +-
builtin/merge.c | 7 +-
builtin/notes.c | 2 +-
builtin/pack-objects.c | 3 +-
builtin/pack-redundant.c | 10 +-
builtin/patch-id.c | 6 +-
builtin/pull.c | 6 +-
builtin/receive-pack.c | 4 +-
builtin/replace.c | 2 +-
builtin/rm.c | 2 +-
builtin/tag.c | 2 +-
builtin/unpack-objects.c | 9 +-
builtin/update-ref.c | 8 +-
bulk-checkin.c | 3 +
bundle-uri.c | 2 +
bundle.c | 2 +
cache-tree.c | 7 +-
checkout.c | 2 +
checkout.h | 2 +-
chunk-format.c | 2 +
chunk-format.h | 2 +-
combine-diff.c | 2 +
commit-graph.c | 22 +-
commit-graph.h | 2 +
commit-reach.c | 2 +
commit.c | 2 +
common-main.c | 2 +
compat/fsmonitor/fsm-ipc-darwin.c | 7 +-
compat/sha1-chunked.c | 2 +-
compat/win32/trace2_win32_process_info.c | 2 +
config.c | 3 +
connected.c | 2 +
convert.c | 2 +
convert.h | 2 +-
csum-file.c | 9 +-
csum-file.h | 2 +-
delta-islands.c | 2 +
diagnose.c | 2 +
diff-lib.c | 7 +-
diff.c | 9 +-
diff.h | 2 +-
diffcore-break.c | 3 +
diffcore-rename.c | 7 +-
diffcore.h | 2 +-
dir.c | 9 +-
dir.h | 2 +-
entry.c | 2 +
environment.c | 3 +
fetch-pack.c | 2 +
fmt-merge-msg.c | 2 +
fsck.c | 5 +-
fsmonitor-ipc.c | 2 +
git.c | 2 +
hash-ll.h | 310 ----------------
hash-lookup.c | 5 +-
hash.h | 366 ++++++++++++++++---
help.c | 2 +
hex.c | 8 +-
hex.h | 28 +-
http-backend.c | 2 +
http-fetch.c | 8 +-
http-push.c | 5 +-
http-walker.c | 6 +-
http.c | 2 +
list-objects-filter-options.c | 2 +
list-objects-filter.c | 2 +
list-objects.c | 2 +
log-tree.c | 2 +
loose.c | 2 +
loose.h | 2 +
ls-refs.c | 2 +
mailmap.c | 2 +
match-trees.c | 6 +-
merge-blobs.c | 2 +
merge-ort.c | 2 +
merge-ort.h | 2 +-
merge-recursive.c | 3 +
merge.c | 2 +
midx-write.c | 2 +
midx.c | 5 +-
negotiator/default.c | 2 +
negotiator/skipping.c | 2 +
notes-cache.c | 2 +
notes-merge.c | 8 +-
notes-utils.c | 2 +
notes.c | 14 +-
object-file-convert.c | 6 +-
object-file.c | 19 +-
object-name.c | 2 +
object.c | 2 +
object.h | 2 +-
oid-array.c | 2 +
oidmap.h | 2 +-
oidset.c | 8 +-
oidset.h | 4 +-
oidtree.c | 4 +-
oidtree.h | 2 +-
oss-fuzz/fuzz-commit-graph.c | 2 +
pack-bitmap-write.c | 6 +-
pack-bitmap.c | 5 +-
pack-check.c | 7 +-
pack-revindex.c | 2 +
pack-write.c | 5 +-
packfile.c | 20 +-
packfile.h | 2 +
parallel-checkout.c | 8 +-
parse-options-cb.c | 2 +
path.c | 3 +
pathspec.c | 2 +
pretty.c | 2 +
progress.c | 2 +
promisor-remote.c | 2 +
protocol-caps.c | 5 +-
range-diff.c | 2 +
reachable.c | 2 +
read-cache-ll.h | 2 +-
read-cache.c | 21 +-
rebase-interactive.c | 2 +
ref-filter.c | 2 +
reflog-walk.c | 2 +
reflog.c | 2 +
refs.c | 8 +-
refs.h | 8 +-
refs/files-backend.c | 8 +-
refs/packed-backend.c | 8 +-
refs/ref-cache.h | 2 +-
refs/reftable-backend.c | 39 +-
refspec.c | 2 +
reftable/dump.c | 2 +-
reftable/reftable-record.h | 2 +-
reftable/system.h | 2 +-
remote-curl.c | 2 +
remote.c | 10 +-
remote.h | 2 +-
replace-object.c | 2 +-
repository.h | 9 +-
rerere.c | 2 +
reset.c | 2 +
reset.h | 2 +-
resolve-undo.c | 5 +-
resolve-undo.h | 2 +-
revision.c | 2 +
run-command.c | 2 +
scalar.c | 2 +
send-pack.c | 2 +
sequencer.c | 8 +-
serve.c | 4 +-
server-info.c | 2 +
setup.c | 2 +
shallow.c | 2 +
split-index.c | 4 +-
split-index.h | 2 +-
streaming.c | 3 +
submodule-config.c | 4 +-
submodule.c | 8 +-
t/helper/test-bitmap.c | 2 +
t/helper/test-bloom.c | 2 +
t/helper/test-cache-tree.c | 2 +
t/helper/test-dump-cache-tree.c | 2 +
t/helper/test-dump-fsmonitor.c | 2 +
t/helper/test-dump-split-index.c | 2 +
t/helper/test-dump-untracked-cache.c | 2 +
t/helper/test-find-pack.c | 2 +
t/helper/test-fsmonitor-client.c | 2 +
t/helper/test-hash-speed.c | 2 +-
t/helper/test-lazy-init-name-hash.c | 2 +
t/helper/test-match-trees.c | 2 +
t/helper/test-oid-array.c | 4 +
t/helper/test-oidmap.c | 2 +
t/helper/test-pack-mtimes.c | 2 +
t/helper/test-partial-clone.c | 2 +-
t/helper/test-proc-receive.c | 9 +-
t/helper/test-reach.c | 2 +
t/helper/test-read-cache.c | 2 +
t/helper/test-read-graph.c | 2 +
t/helper/test-read-midx.c | 2 +
t/helper/test-ref-store.c | 2 +
t/helper/test-repository.c | 2 +
t/helper/test-revision-walking.c | 2 +
t/helper/test-scrap-cache-tree.c | 2 +
t/helper/test-sha1.c | 2 +-
t/helper/test-sha256.c | 2 +-
t/helper/test-submodule-config.c | 4 +-
t/helper/test-submodule-nested-repo-config.c | 2 +
t/helper/test-submodule.c | 2 +
t/helper/test-trace2.c | 2 +
t/helper/test-write-cache.c | 2 +
t/t0064-oid-array.sh | 18 +
t/t5550-http-fetch-dumb.sh | 6 +
t/test-lib-functions.sh | 5 +
t/unit-tests/lib-oid.h | 2 +-
t/unit-tests/t-example-decorate.c | 2 +
tag.c | 2 +
tmp-objdir.c | 2 +
transport-helper.c | 2 +
transport.c | 2 +
tree-diff.c | 1 +
tree-walk.c | 6 +-
tree-walk.h | 2 +-
tree.c | 2 +
unpack-trees.c | 2 +
upload-pack.c | 2 +
walker.c | 2 +
worktree.c | 2 +
wt-status.c | 6 +-
xdiff-interface.c | 2 +
xdiff-interface.h | 2 +-
226 files changed, 994 insertions(+), 617 deletions(-)
delete mode 100644 hash-ll.h
Range-diff against v1:
1: f839013744 = 1: d2154e8c45 hash: drop (mostly) unused `is_empty_{blob,tree}_sha1()` functions
2: 687ad9fc02 = 2: aa468c3d88 hash: require hash algorithm in `hasheq()`, `hashcmp()` and `hashclr()`
3: 346ca76a7c = 3: 403ea4485b hash: require hash algorithm in `oidread()` and `oidclr()`
4: 3ff28f313b = 4: fa263d6b07 global: ensure that object IDs are always padded
5: e2a0f2125d = 5: a7df209bda hash: convert `oidcmp()` and `oideq()` to compare whole hash
6: 3b6ce3b26c = 6: 9058837c93 hash: make `is_null_oid()` independent of `the_repository`
7: 82a391acac = 7: d26584dc8f hash: require hash algorithm in `is_empty_{blob,tree}_oid()`
8: 3f091dd94a = 8: 4858cca25f hash: require hash algorithm in `empty_tree_oid_hex()`
9: 479bebdf53 ! 9: cb3694ad0e global: introduce `USE_THE_REPOSITORY_VARIABLE` macro
@@ t/helper/test-dump-untracked-cache.c
#include "dir.h"
#include "hex.h"
- ## t/helper/test-example-decorate.c ##
-@@
-+#define USE_THE_REPOSITORY_VARIABLE
-+
- #include "test-tool.h"
- #include "git-compat-util.h"
- #include "object.h"
-
## t/helper/test-find-pack.c ##
@@
+#define USE_THE_REPOSITORY_VARIABLE
@@ t/helper/test-write-cache.c
#include "lockfile.h"
#include "read-cache-ll.h"
+ ## t/unit-tests/t-example-decorate.c ##
+@@
++#define USE_THE_REPOSITORY_VARIABLE
++
+ #include "test-lib.h"
+ #include "object.h"
+ #include "decorate.h"
+
## tag.c ##
@@
+#define USE_THE_REPOSITORY_VARIABLE
10: 7e718c967a = 10: 4492548209 refs: avoid include cycle with "repository.h"
11: fb7544181a ! 11: f3cbc4b9f9 hash-ll: merge with "hash.h"
@@ t/helper/test-sha256.c
int cmd__sha256(int ac, const char **av)
{
+ ## t/unit-tests/lib-oid.h ##
+@@
+ #ifndef LIB_OID_H
+ #define LIB_OID_H
+
+-#include "hash-ll.h"
++#include "hash.h"
+
+ /*
+ * Convert arbitrary hex string to object_id.
+
## tree-diff.c ##
@@
#include "tree.h"
12: b47fa99f3d = 12: 9178098dd7 http-fetch: don't crash when parsing packfile without a repo
13: 95d9b5fa3e = 13: 0b4436c32b oidset: pass hash algorithm when parsing file
14: c877d48f7d = 14: c7abfbc489 protocol-caps: use hash algorithm from passed-in repository
15: ca5f4056fb = 15: 9ae4fdb8f1 replace-object: use hash algorithm from passed-in repository
16: d4e87f9d6b ! 16: 3ceb726655 compat/fsmonitor: remove dependency on `the_repository` in Darwin IPC
@@ Metadata
Author: Patrick Steinhardt <ps@pks•im>
## Commit message ##
- compat/fsmonitor: remove dependency on `the_repository` in Darwin IPC
+ compat/fsmonitor: fix socket path in networked SHA256 repos
The IPC socket used by the fsmonitor on Darwin is usually contained in
the Git repository itself. When the repository is hosted on a networked
@@ Commit message
directory or the socket directory. In that case, we derive the path by
hashing the repository path.
- The hashing implicitly depends on `the_repository` though via
- `hash_to_hex()`. For one, this is wrong because we really should be
- using the passed-in repository. But arguably, it is not sensible to
- derive the path hash from the repository's object hash in the first
- place -- they don't have anything to do with each other, and a
- repository that is hosted in the same path should always derive the same
- IPC socket path.
+ But while we always use SHA1 to hash the repository path, we then end up
+ using `hash_to_hex()` to append the computed hash to the socket path.
+ This is wrong because `hash_to_hex()` uses the hash algorithm configured
+ in `the_repository`, which may not be SHA1. The consequence is that we
+ may append uninitialized bytes to the path when operating in a SHA256
+ repository.
- Fix this by unconditionally using SHA1 to derive the path.
+ Fix this bug by using `hash_to_hex_algop()` with SHA1.
Signed-off-by: Patrick Steinhardt <ps@pks•im>
## compat/fsmonitor/fsm-ipc-darwin.c ##
+@@ compat/fsmonitor/fsm-ipc-darwin.c: const char *fsmonitor_ipc__get_path(struct repository *r)
+ git_SHA_CTX sha1ctx;
+ char *sock_dir = NULL;
+ struct strbuf ipc_file = STRBUF_INIT;
+- unsigned char hash[GIT_MAX_RAWSZ];
++ unsigned char hash[GIT_SHA1_RAWSZ];
+
+ if (!r)
+ BUG("No repository passed into fsmonitor_ipc__get_path");
@@ compat/fsmonitor/fsm-ipc-darwin.c: const char *fsmonitor_ipc__get_path(struct repository *r)
/* Create the socket file in either socketDir or $HOME */
if (sock_dir && *sock_dir) {
17: 5310883469 = 17: 74e5489bd0 t/helper: use correct object hash in partial-clone helper
18: 2774b8500f = 18: 470aea1fc8 t/helper: fix segfault in "oid-array" command without repository
19: 339d668da8 < -: ---------- t/helper: remove dependency on `the_repository` in "oidtree"
20: 97fa3051fa = 19: 1f0682fc7d t/helper: remove dependency on `the_repository` in "proc-receive"
21: 92c7f542d2 = 20: 16fb86c2b2 hex: guard declarations with `USE_THE_REPOSITORY_VARIABLE`
--
2.45.2.457.g8d94cfb545.dirty
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2024-06-13 6:13 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-11 11:57 [PATCH 00/21] Introduce `USE_THE_REPOSITORY_VARIABLE` macro Patrick Steinhardt
2024-06-11 11:57 ` [PATCH 01/21] hash: drop (mostly) unused `is_empty_{blob,tree}_sha1()` functions Patrick Steinhardt
2024-06-11 11:57 ` [PATCH 02/21] hash: require hash algorithm in `hasheq()`, `hashcmp()` and `hashclr()` Patrick Steinhardt
2024-06-11 11:57 ` [PATCH 03/21] hash: require hash algorithm in `oidread()` and `oidclr()` Patrick Steinhardt
2024-06-11 11:57 ` [PATCH 04/21] global: ensure that object IDs are always padded Patrick Steinhardt
2024-06-11 11:57 ` [PATCH 05/21] hash: convert `oidcmp()` and `oideq()` to compare whole hash Patrick Steinhardt
2024-06-11 11:58 ` [PATCH 06/21] hash: make `is_null_oid()` independent of `the_repository` Patrick Steinhardt
2024-06-11 11:58 ` [PATCH 07/21] hash: require hash algorithm in `is_empty_{blob,tree}_oid()` Patrick Steinhardt
2024-06-11 11:58 ` [PATCH 08/21] hash: require hash algorithm in `empty_tree_oid_hex()` Patrick Steinhardt
2024-06-11 11:58 ` [PATCH 09/21] global: introduce `USE_THE_REPOSITORY_VARIABLE` macro Patrick Steinhardt
2024-06-11 11:58 ` [PATCH 10/21] refs: avoid include cycle with "repository.h" Patrick Steinhardt
2024-06-11 11:58 ` [PATCH 11/21] hash-ll: merge with "hash.h" Patrick Steinhardt
2024-06-11 11:58 ` [PATCH 12/21] http-fetch: don't crash when parsing packfile without a repo Patrick Steinhardt
2024-06-11 11:58 ` [PATCH 13/21] oidset: pass hash algorithm when parsing file Patrick Steinhardt
2024-06-11 11:58 ` [PATCH 14/21] protocol-caps: use hash algorithm from passed-in repository Patrick Steinhardt
2024-06-11 11:58 ` [PATCH 15/21] replace-object: " Patrick Steinhardt
2024-06-11 11:58 ` [PATCH 16/21] compat/fsmonitor: remove dependency on `the_repository` in Darwin IPC Patrick Steinhardt
2024-06-11 23:16 ` brian m. carlson
2024-06-12 7:38 ` Patrick Steinhardt
2024-06-11 11:58 ` [PATCH 17/21] t/helper: use correct object hash in partial-clone helper Patrick Steinhardt
2024-06-11 11:58 ` [PATCH 18/21] t/helper: fix segfault in "oid-array" command without repository Patrick Steinhardt
2024-06-11 13:23 ` Ghanshyam Thakkar
2024-06-11 11:59 ` [PATCH 19/21] t/helper: remove dependency on `the_repository` in "oidtree" Patrick Steinhardt
2024-06-11 12:57 ` Ghanshyam Thakkar
2024-06-12 7:38 ` Patrick Steinhardt
2024-06-11 23:17 ` brian m. carlson
2024-06-12 7:38 ` Patrick Steinhardt
2024-06-11 11:59 ` [PATCH 20/21] t/helper: remove dependency on `the_repository` in "proc-receive" Patrick Steinhardt
2024-06-11 11:59 ` [PATCH 21/21] hex: guard declarations with `USE_THE_REPOSITORY_VARIABLE` Patrick Steinhardt
2024-06-11 23:24 ` [PATCH 00/21] Introduce `USE_THE_REPOSITORY_VARIABLE` macro brian m. carlson
2024-06-12 7:37 ` Patrick Steinhardt
2024-06-12 10:12 ` Ghanshyam Thakkar
2024-06-13 6:13 ` Patrick Steinhardt [this message]
2024-06-13 6:13 ` [PATCH v2 01/20] hash: drop (mostly) unused `is_empty_{blob,tree}_sha1()` functions Patrick Steinhardt
2024-06-13 6:13 ` [PATCH v2 02/20] hash: require hash algorithm in `hasheq()`, `hashcmp()` and `hashclr()` Patrick Steinhardt
2024-06-13 6:13 ` [PATCH v2 03/20] hash: require hash algorithm in `oidread()` and `oidclr()` Patrick Steinhardt
2024-06-13 6:13 ` [PATCH v2 04/20] global: ensure that object IDs are always padded Patrick Steinhardt
2024-06-13 6:13 ` [PATCH v2 05/20] hash: convert `oidcmp()` and `oideq()` to compare whole hash Patrick Steinhardt
2024-06-13 6:13 ` [PATCH v2 06/20] hash: make `is_null_oid()` independent of `the_repository` Patrick Steinhardt
2024-06-13 6:13 ` [PATCH v2 07/20] hash: require hash algorithm in `is_empty_{blob,tree}_oid()` Patrick Steinhardt
2024-06-13 6:14 ` [PATCH v2 08/20] hash: require hash algorithm in `empty_tree_oid_hex()` Patrick Steinhardt
2024-06-13 10:01 ` Phillip Wood
2024-06-13 15:39 ` Junio C Hamano
2024-06-14 5:23 ` Patrick Steinhardt
2024-06-13 6:14 ` [PATCH v2 09/20] global: introduce `USE_THE_REPOSITORY_VARIABLE` macro Patrick Steinhardt
2024-06-13 6:14 ` [PATCH v2 10/20] refs: avoid include cycle with "repository.h" Patrick Steinhardt
2024-06-13 6:14 ` [PATCH v2 11/20] hash-ll: merge with "hash.h" Patrick Steinhardt
2024-06-13 6:14 ` [PATCH v2 12/20] http-fetch: don't crash when parsing packfile without a repo Patrick Steinhardt
2024-06-13 6:14 ` [PATCH v2 13/20] oidset: pass hash algorithm when parsing file Patrick Steinhardt
2024-06-13 6:14 ` [PATCH v2 14/20] protocol-caps: use hash algorithm from passed-in repository Patrick Steinhardt
2024-06-13 6:14 ` [PATCH v2 15/20] replace-object: " Patrick Steinhardt
2024-06-13 6:14 ` [PATCH v2 16/20] compat/fsmonitor: fix socket path in networked SHA256 repos Patrick Steinhardt
2024-06-13 6:14 ` [PATCH v2 17/20] t/helper: use correct object hash in partial-clone helper Patrick Steinhardt
2024-06-13 6:14 ` [PATCH v2 18/20] t/helper: fix segfault in "oid-array" command without repository Patrick Steinhardt
2024-06-13 6:14 ` [PATCH v2 19/20] t/helper: remove dependency on `the_repository` in "proc-receive" Patrick Steinhardt
2024-06-13 6:14 ` [PATCH v2 20/20] hex: guard declarations with `USE_THE_REPOSITORY_VARIABLE` Patrick Steinhardt
2024-06-13 18:01 ` [PATCH v2 00/20] Introduce `USE_THE_REPOSITORY_VARIABLE` macro Junio C Hamano
2024-06-13 18:48 ` Junio C Hamano
2024-06-13 23:14 ` Ramsay Jones
2024-06-13 23:18 ` Junio C Hamano
2024-06-13 23:55 ` Ramsay Jones
2024-06-14 0:17 ` Junio C Hamano
2024-06-14 5:28 ` Patrick Steinhardt
2024-06-14 15:54 ` Junio C Hamano
2024-06-14 6:49 ` [PATCH v3 " Patrick Steinhardt
2024-06-14 6:49 ` [PATCH v3 01/20] hash: drop (mostly) unused `is_empty_{blob,tree}_sha1()` functions Patrick Steinhardt
2024-06-14 6:49 ` [PATCH v3 02/20] hash: require hash algorithm in `hasheq()`, `hashcmp()` and `hashclr()` Patrick Steinhardt
2024-06-14 6:49 ` [PATCH v3 03/20] hash: require hash algorithm in `oidread()` and `oidclr()` Patrick Steinhardt
2024-06-14 6:49 ` [PATCH v3 04/20] global: ensure that object IDs are always padded Patrick Steinhardt
2024-06-14 6:50 ` [PATCH v3 05/20] hash: convert `oidcmp()` and `oideq()` to compare whole hash Patrick Steinhardt
2024-06-17 9:18 ` Karthik Nayak
2024-06-14 6:50 ` [PATCH v3 06/20] hash: make `is_null_oid()` independent of `the_repository` Patrick Steinhardt
2024-06-14 6:50 ` [PATCH v3 07/20] hash: require hash algorithm in `is_empty_{blob,tree}_oid()` Patrick Steinhardt
2024-06-14 6:50 ` [PATCH v3 08/20] hash: require hash algorithm in `empty_tree_oid_hex()` Patrick Steinhardt
2024-06-14 6:50 ` [PATCH v3 09/20] global: introduce `USE_THE_REPOSITORY_VARIABLE` macro Patrick Steinhardt
2024-06-17 9:30 ` Karthik Nayak
2024-06-18 5:16 ` Patrick Steinhardt
2024-06-18 9:25 ` Karthik Nayak
2024-06-18 15:58 ` Junio C Hamano
2024-06-18 16:56 ` Junio C Hamano
2024-06-18 20:20 ` Karthik Nayak
2024-06-14 6:50 ` [PATCH v3 10/20] refs: avoid include cycle with "repository.h" Patrick Steinhardt
2024-06-14 6:50 ` [PATCH v3 11/20] hash-ll: merge with "hash.h" Patrick Steinhardt
2024-06-14 6:50 ` [PATCH v3 12/20] http-fetch: don't crash when parsing packfile without a repo Patrick Steinhardt
2024-06-14 6:50 ` [PATCH v3 13/20] oidset: pass hash algorithm when parsing file Patrick Steinhardt
2024-06-14 6:50 ` [PATCH v3 14/20] protocol-caps: use hash algorithm from passed-in repository Patrick Steinhardt
2024-06-14 6:50 ` [PATCH v3 15/20] replace-object: " Patrick Steinhardt
2024-06-14 6:50 ` [PATCH v3 16/20] compat/fsmonitor: fix socket path in networked SHA256 repos Patrick Steinhardt
2024-06-14 6:51 ` [PATCH v3 17/20] t/helper: use correct object hash in partial-clone helper Patrick Steinhardt
2024-06-14 6:51 ` [PATCH v3 18/20] t/helper: fix segfault in "oid-array" command without repository Patrick Steinhardt
2024-06-14 6:51 ` [PATCH v3 19/20] t/helper: remove dependency on `the_repository` in "proc-receive" Patrick Steinhardt
2024-06-14 6:51 ` [PATCH v3 20/20] hex: guard declarations with `USE_THE_REPOSITORY_VARIABLE` Patrick Steinhardt
2024-06-18 9:56 ` [PATCH v3 00/20] Introduce `USE_THE_REPOSITORY_VARIABLE` macro Phillip Wood
2024-06-18 20:22 ` Karthik Nayak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1718259125.git.ps@pks.im \
--to=ps@pks$(echo .)im \
--cc=git@vger$(echo .)kernel.org \
--cc=sandals@crustytoothpaste$(echo .)net \
--cc=shyamthakkar001@gmail$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox