2013-03-28 9 views

risposta

2

Allo stesso modo di se invocato tramite SSH - vedere update_ref function in refs.c. L'effettiva implementazione del meccanismo di blocco risiede nello lock_file function in lockfile.c e sì, crea un file .lock. Sotto il cofano, è fatto tramite l'opzione O_EXCL a open().

+0

Sembra che Git non aspetti un attimo prima di dire che il blocco è fallito. L'utente deve riprovare? – linquize

+0

L'aggiornamento del ref deve essere piuttosto veloce - in pratica si tratta solo di scrivere 20 byte in un singolo file. Non ho mai letto un reclamo a riguardo, ma nemmeno io sono coinvolto nello sviluppo del git. –

+0

Il sistema operativo garantisce che la scrittura di 20 byte sia abbastanza veloce? – linquize

Problemi correlati