Re: [PATCH v2 0/4] rev-list: allow missing tips with --missing
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 8, 2024, 23:15 UTC
- Message-ID
- <xmqq7cjemttr.fsf@gitster.g>
- In-Reply-To
- <20240208135055.2705260-1-christian.couder@gmail.com>
Christian Couder <christian.couder@gmail.com> writes:
Show 10 quoted lines
> # 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 &&
-- 2.43.0-581-g5216f8f5c4