Ich habe eine Reihe von Fragen zu einfachen Tools zur Quellcodeverwaltung gelesen und Git schien mir eine vernünftige Wahl zu sein. Ich habe es in Betrieb und es funktioniert soweit gut. Ein Aspekt, den ich an CVS mag, ist die automatische Inkrementierung einer Versionsnummer.
Ich verstehe, dass dies in einem verteilten Repository weniger sinnvoll ist, aber als Entwickler möchte / brauche ich so etwas. Lassen Sie mich erklären, warum:
Ich benutze Emacs. In regelmäßigen Abständen suche ich nach neuen Versionen der Lisp-Quelldateien für Pakete von Drittanbietern. Angenommen, ich habe eine Datei, foo.el, die laut Header Version 1.3 ist. Wenn ich nach der neuesten Version schaue und sehe, dass es 1.143 oder 2.6 oder was auch immer ist, weiß ich, dass ich ziemlich weit zurück bin.
Wenn ich stattdessen ein paar Hashes mit 40 Zeichen sehe, weiß ich nicht, welche später sind, oder bekomme keine Vorstellung davon, wie viel später es ist. Ich würde es absolut hassen, wenn ich ChangeLogs manuell überprüfen müsste, um eine Vorstellung davon zu bekommen, wie veraltet ich bin.
Als Entwickler möchte ich diese Höflichkeit, wie ich sie sehe, auf die Leute ausdehnen, die meine Ausgabe verwenden (und vielleicht mache ich mir selbst etwas vor, aber das lassen wir für einen Moment beiseite). Ich möchte nicht daran denken müssen, die verdammte Zahl jedes Mal selbst zu erhöhen, oder einen Zeitstempel oder ähnliches. Das ist eine echte PITA, und das weiß ich aus Erfahrung.
Welche Alternativen habe ich? Wenn ich kein $ Id: $ -Äquivalent erhalten kann, wie kann ich sonst das angeben, wonach ich suche?
Ich sollte erwähnen, dass meine Erwartung ist, dass der Endbenutzer Git NICHT installiert hat und selbst wenn dies der Fall ist, kein lokales Repository hat (in der Tat erwarte ich, dass es nicht auf diese Weise verfügbar gemacht wird).
filter-branch
oder so etwas neu aufbauen kann.