Re: [PATCH 2/2] lock_packed_refs(): allow retries when acquiring the packed-refs lock
From: Michael Haggerty <hidden>
Date: 2016-06-15 23:04:37
On 05/01/2015 06:13 PM, Johannes Sixt wrote:
Am 01.05.2015 um 16:52 schrieb Michael Haggerty:quoted
+test_expect_success 'retry acquiring packed-refs.lock' ' + LOCK=.git/packed-refs.lock && + >$LOCK && + test_when_finished "rm -f $LOCK" && + { + ( sleep 1 ; rm -f $LOCK ) & + } &&I haven't tested yet, but I think that this will be problematic on Windows: a directory cannot be removed if it is the current directory of a process. Here, the sub-shell process is alive for a second. If the remainder of the test script completes before the process dies, the test directory cannot be removed. How about this: test_when_finished "wait; rm -f $LOCK" && { sleep 1 & } && ...quoted
+ git -c core.packedrefstimeout=3000 pack-refs --all --prune +' + test_done
Thanks for pointing out this problem. Your suggestion seems good. I assume that you didn't intend to omit the "rm -f $LOCK" from the subprocess, because the whole point is for that to happen while "git pack-refs" is running. I will include your change in v2. Michael -- Michael Haggerty mhagger@alum.mit.edu