Ho letto un mucchio di domande su semplici strumenti di controllo del codice sorgente e Git mi è sembrata una scelta ragionevole. Ho installato e funzionante, e funziona bene finora. Un aspetto che mi piace di CVS è l'incremento automatico di un numero di versione.
Capisco che questo ha meno senso in un repository distribuito, ma come sviluppatore, voglio / ho bisogno di qualcosa del genere. Lasciami spiegare perché:
Uso Emacs. Periodicamente, cerco nuove versioni dei file sorgente Lisp per pacchetti di terze parti. Supponiamo di avere un file, foo.el, che, secondo l'intestazione, è la versione 1.3; se cerco l'ultima versione e vedo che è 1.143 o 2.6 o qualsiasi altra cosa, so di essere abbastanza indietro.
Se invece vedo un paio di hash di 40 caratteri, non saprò quale sarà più tardi o non avrò idea di quanto sarà più tardi. Lo oderei assolutamente se dovessi controllare manualmente ChangeLogs solo per avere un'idea di quanto io sia obsoleto.
Come sviluppatore, voglio estendere questa cortesia, come la vedo io, alle persone che usano il mio output (e forse sto prendendo in giro me stesso che qualcuno lo è, ma lasciamolo da parte per un momento). Non voglio ricordarmi di aumentare ogni volta quel dannato numero, o un timestamp o qualcosa del genere. È un vero PITA, e lo so per esperienza.
Quindi quali alternative ho? Se non riesco a ottenere un $ Id: $ equivalente, in che altro modo posso fornire quello che sto cercando?
Devo dire che la mia aspettativa è che l'utente finale NON disporrà di Git installato e, anche se lo fosse, non disporrà di un repository locale (anzi, mi aspetto di non renderlo disponibile in questo modo).
filter-branch
o qualcosa del genere.