2016-06-19 15 views
14

Il documentation for the git update-index command ha questo da dire circa l'interruttore --info-only:Che cos'è un repository Git di solo stato?

--info-only viene utilizzato per registrare i file senza inserendoli nel database degli oggetti. È utile per i repository di stato .

Dato che Git è un sistema di tracciamento del contenuto piuttosto che un sistema di tracciamento dei file, sono curioso degli scenari in cui vorresti farlo; cioè, registra i file con l'indice senza posizionarli effettivamente (e presumibilmente i loro contenuti) nel database degli oggetti.

Ho anche cercato su Google il termine "repository di solo stato" senza successo. Qualcuno potrebbe chiarire che cos'è un tale repository e a cosa serve?

risposta

9

La modifica di added that feature faceva parte di una serie di patch di Bryan Larsen per "supportare il funzionamento senza il database degli oggetti". This is what he explained it with:

A volte si potrebbe desiderare di mantenere un audit trail di cosa è cambiato, dove, e da chi. Non è necessario conoscere i dettagli esatti della modifica, e i file sono così grandi che la conservazione di una copia aggiuntiva dei dati nella cache del database degli oggetti è proibitiva.

Git è (quasi) ideale per questo. C'è molto poco là fuori che è più veloce di git-diff-cache.

Il design di git facilita anche questo. git-update-cache --cacheinfo consente di aggiornare l'indice senza un oggetto nel database e le operazioni di possono quindi essere eseguite attorno all'indice. Tuttavia, ci sono alcune cose che sono scomode e uno spettacolo stopper.

non c'era in realtà qualsiasi discussione in corso circa la perché su quel thread, e ho potuto trovare un altro che copre l'argomento. Quindi potrebbe essere stata un'idea con cui Bryan ha giocato e che voleva avere per se stesso.

Personalmente non sono a conoscenza di nulla che in realtà usi questo per qualcosa, quindi questo potrebbe essere un caso d'uso teorico dopo tutto. D'altra parte, l'idea è piuttosto semplice e potrebbe effettivamente essere utilizzata per qualcosa.

+0

Ah non ha pensato di controllare il registro di Git del git ;-) Saluti. – ardila

Problemi correlati