Un giorno stavo usando Git (lo sto ancora usando) e l'elettricità è andata giù mentre stavo commettendo.
Quando io (in realtà, l'elettricità) tornò, il repository git era corrotto. Non ricordo il nome esatto, ma era qualcosa come "ref non validi" o qualcosa del genere.
È facile intuire che il commit è stato interrotto nel mezzo dell'operazione (stavo eseguendo il commit tramite IntelliJ, che aggiorna automaticamente l'indice). È stato anche facile intuire che, in realtà, "commit" non è ACID quanto l'operazione DBMS con lo stesso nome.
Q : esiste un modo per garantire che le operazioni di repo-modifica rispettino l'atomicità? Ad esempio, se l'elettricità si interrompe di nuovo e sto eseguendo il commit, mi piacerebbe che il mio filesystem non si trovasse in uno stato corrotto.