Thread (14 messages) 14 messages, 4 authors, 2022-06-16

Re: [PATCH 2/4] t5329: test 'git gc --cruft' without '--prune=now'

flat view

From: Derrick Stolee <hidden>
Date: 2022-06-15 13:28:14

On 6/14/22 7:38 PM, Taylor Blau wrote:
On Tue, Jun 14, 2022 at 09:27:48PM +0000, Derrick Stolee via GitGitGadget wrote:
quoted
-		git repack --cruft -d &&
+		# Write a cruft pack instead of deleting files.
+		git gc --cruft &&
These ("git repack --cruft -d" and "git gc --cruft") do the same thing,
so this transformation makes sense.

It may be slightly clearer to refer to "objects" instead of "files",
perhaps like:

    # Write a cruft pack containing all unreachable objects

and then replace:
quoted
+		# Ignore the cruft pack and delete every unreachable object.
 		git gc --cruft --prune=now &&
with:

    # Prune all unreachable objects from the cruft pack

But I don't think the current wording is a problem, either, so feel free
to take or leave these suggestions.
I like your suggestions. I'll update them if there are other reasons
to do a v2.
 
Quoting from your original coverage report, this should take care of:

Taylor Blau     5b92477f builtin/gc.c: conditionally avoid pruning objects via loose
builtin/gc.c
5b92477f 337) strvec_push(&repack, "--cruft");
5b92477f 338) if (prune_expire)
These lines, yes.
5b92477f 339) strvec_pushf(&repack, "--cruft-expiration=%s", prune_expire);
This one requires "git gc --cruft --prune=<time>" where <time> is
not "now". I didn't want to jump too much into the exact expire
time as I feared that could cause some issues, but I suppose
passing --prune="01-01-1980" would provide a non-zero expiration
and then lead to us testing "git repack --cruft --cruft-expiration"
as well. (It doesn't actually test the exact expiration time, but
does test that the options are sent down the pipe.)

Thanks,
-Stolee
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help