Sie sind nicht der erste, der über eine "Revisionsnummer" in Git nachdenkt , aber ' wc
' ist ziemlich gefährlich, da Commit gelöscht oder gequetscht werden kann und der Verlauf erneut überprüft wird.
Die "Revisionsnummer" war für Subversion besonders wichtig, da sie im Falle einer Zusammenführung benötigt wurde (SVN1.5 und 1.6 haben sich in dieser Hinsicht verbessert).
Möglicherweise erhalten Sie einen Pre-Commit-Hook, der eine Revisionsnummer in den Kommentar enthält. Bei einem Algorithmus wird nicht der gesamte Verlauf eines Zweigs nachgeschlagen, um die richtige Nummer zu ermitteln.
Bazaar hat tatsächlich einen solchen Algorithmus entwickelt , und er kann ein guter Ausgangspunkt für das sein, was Sie tun möchten.
(Wie Bombes Antwort hervorhebt, hat Git tatsächlich einen eigenen Algorithmus, der auf dem neuesten Tag plus der Anzahl der Commits plus ein bisschen SHA-1-Schlüssel basiert.) Sie sollten seine Antwort sehen (und positiv bewerten), wenn sie für Sie funktioniert.
Um Aarons Idee zu veranschaulichen , können Sie den Git-Commit-Hash auch an die "Info" -Datei einer Anwendung anhängen, die Sie mit Ihrer Anwendung verteilen.
Auf diese Weise würde die About-Box folgendermaßen aussehen:
Die anwendbare Nummer ist Teil des Commits, aber die "Info" -Datei der Anwendung wird während des Verpackungsprozesses generiert, wodurch eine anwendbare Build-Nummer effektiv mit einer technischen Revisions- ID verknüpft wird .