Message ID | 20240208135055.2705260-1-christian.couder@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | rev-list: allow missing tips with --missing | expand |
Christian Couder <christian.couder@gmail.com> writes: > # Patch overview > > Patches 1/4 (revision: clarify a 'return NULL' in get_reference()), > 2/4 (oidset: refactor oidset_insert_from_set()) and > 3/4 (t6022: fix 'test' style and 'even though' typo) are very small > preparatory cleanups. > > Patch 4/4 (rev-list: allow missing tips with --missing=[print|allow*]) > allows git-rev-list(1) with `--missing=<arg>` when <arg> is not > 'error' to not fail if some tips it is passed are missing. Thanks. There is an existing test that makes a bad assumption and fails with these patches. We may need something like this patch as a preliminary fix before these four patches. ----- >8 ---------- >8 ---------- >8 ---------- >8 ----- Subject: [PATCH] t9210: do not rely on lazy fetching to fail With "rev-list --missing=print $start", where "$start" is a 40-hex object name, the object may or may not be lazily fetched from the promisor. Make sure it fails by forcing dereference of "$start" at that point. Signed-off-by: Junio C Hamano <gitster@pobox.com> --- t/t9210-scalar.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/t/t9210-scalar.sh b/t/t9210-scalar.sh index 4432a30d10..428339e342 100755 --- a/t/t9210-scalar.sh +++ b/t/t9210-scalar.sh @@ -154,7 +154,14 @@ test_expect_success 'scalar clone' ' test_cmp expect actual && test_path_is_missing 1/2 && - test_must_fail git rev-list --missing=print $second && + + # This relies on the fact that the presence of "--missing" + # on the command line forces lazy fetching off before + # "$second^{blob}" gets parsed. Without "^{blob}", a + # bare object name "$second" is taken into the queue and + # the command may not fail with a fixed "rev-list --missing". + test_must_fail git rev-list --missing=print "$second^{blob}" -- && + git rev-list $second && git cat-file blob $second >actual && echo "second" >expect &&
On Fri, Feb 9, 2024 at 12:15 AM Junio C Hamano <gitster@pobox.com> wrote: > > Christian Couder <christian.couder@gmail.com> writes: > > > # Patch overview > > > > Patches 1/4 (revision: clarify a 'return NULL' in get_reference()), > > 2/4 (oidset: refactor oidset_insert_from_set()) and > > 3/4 (t6022: fix 'test' style and 'even though' typo) are very small > > preparatory cleanups. > > > > Patch 4/4 (rev-list: allow missing tips with --missing=[print|allow*]) > > allows git-rev-list(1) with `--missing=<arg>` when <arg> is not > > 'error' to not fail if some tips it is passed are missing. > > Thanks. There is an existing test that makes a bad assumption and > fails with these patches. We may need something like this patch as > a preliminary fix before these four patches. Thanks, I have added your patch to the V3 I just sent.