Re: [PATCH 2/2] lock_packed_refs(): allow retries when acquiring the packed-refs lock
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- May 1, 2015, 16:13 UTC
- Message-ID
- <5543A621.7010208@kdbg.org>
- In-Reply-To
- <1430491977-25817-3-git-send-email-mhagger@alum.mit.edu>
Am 01.05.2015 um 16:52 schrieb Michael Haggerty:
Show 7 quoted lines
> +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 & } &&
...Show 5 quoted lines
> + git -c core.packedrefstimeout=3000 pack-refs --all --prune > +' > + > test_done >
-- Hannes