Il blocco minimo è effettivamente necessario.
L'unica avvertenza è quando si esegue varigit gc
contemporaneamente, come illustrato da commit ed7eda8 da Kyle J. McKay (mackyle) per Git 1,9/2,0 (Q1 2014), effettivamente Git 1.8.5.3, pubblicato 15 gennaio 2014.
Dal 64a99eb4 (git 1.8.5), git gc
rifiuta di funzionare senza l'opzione --force
seun altro processo gc
sullo stesso repository è già in esecuzione.
Tuttavia, se il repository è condivisa e utente A
corre git gc
sul repository e mentre quell'utente gc
è ancora in esecuzione B
corre git gc
sullo stesso repository il processo gc
gestito dall'utente A
non sarà notato e il gc
gestito dall'utente B
andrà avanti ed eseguirà.
Il problema è che il test kill(pid, 0)
riesce con un errore EPERM
dato utente B
non è consentito per segnalare i processi eseguiti dall'utente A
(meno che l'utente è B
root
).
Aggiornare il test per riconoscere un errore EPERM
nel senso che il processo esiste e un altro gc
non deve essere eseguito (a meno che non sia indicato --force
).
Quindi, a meno che non ci si trovi in tale scenario, è possibile chiamare altri comandi git
contemporaneamente senza alcun problema.