2008-09-20 11 views
5

Ich frage mich, wie Sie mit der Anzeige der Versionsnummer umgehen, wenn Sie neue Versionen Ihrer App veröffentlichen?Wie wird die letzte Revision in einer Datei angezeigt?

Sie können $Rev$ in einer Datei verwenden, um die neueste Revision zu erhalten, aber erst, nachdem Sie die Datei aktualisiert haben.

Was ist, wenn ich eine Zeichenfolge in einer Datei jedes Mal aktualisieren möchte, wenn ich eine Datei im Repository/Verzeichnis ändere?

Gibt es einen Weg?

Antwort

2

Haben Sie versucht, Haken zu verwenden? Sie arbeiten nur auf der Serverseite, können aber den Trick machen. Ansonsten würde ich nur ein Skript aufrufen, um die Revision zu aktualisieren, wenn die Schlüsselwörter nicht für dich geeignet sind.

+1

Ändern von Code/Dateien in Haken wird nicht empfohlen –

+1

Natürlich, aber es funktioniert. Wenn Sie eine bessere Lösung haben, gehen Sie voran. ;) – unexist

2

Die Datei automatisch als Teil des Erstellens/Deployens der Version aktualisieren.

+0

Wie aktualisierst du automatisch die Datei als Teil des Prozesses? –

+0

Ich weiß nicht, wie Ihr Prozess aussieht. Sie haben wahrscheinlich ein Build-Tool oder Skripte, mit denen Sie zusätzliche Schritte hinzufügen können, bevor Sie das Paket erstellen oder Dateien in die Produktion kopieren ... – Alexander

1

Auf dem einen Projekt, wo ich einen Grund hatte, dies zu tun, habe ich betrogen: Es ruft svnversion auf sich selbst, wenn es startet.

8

Der beste Weg, dies zu tun ist ein Build-Skript für Releases, die die Revisionsnummer mit oder svn info ermitteln und in eine Datei einfügen. Es ist immer hilfreich, um ein Skript zu haben, die:

  1. Kontrollen eine saubere Kopie der Quelle in ein leeres Verzeichnis
  2. svnversion oder etwas verwendet ähnliche eine Build-Nummer
  3. Quelle in ein Produkt kompiliert zu berechnen
  4. erstellt ein Archiv (zip oder tar-Archiv oder was auch immer) des Produkts
  5. bereinigt: löscht alles, aber das Archiv

Dann haben Sie einen einstufigen Prozess, um eine Version mit einer leicht identifizierbaren Version zu erstellen. Es hilft Ihnen auch, zu vermeiden, dass Sie jemandem aus Ihrer eigenen Arbeitskopie einen Build geben, der Änderungen enthalten kann, die nie in die Quellcodeverwaltung eingecheckt wurden.

1

Wie alexander gesagt, ist eine Möglichkeit, die Revision als Teil des Build-Prozesses zu aktualisieren.

Eine Methode, dies zu tun, besteht darin, Ihre Release-Builds von einem automatisierten Build-Prozess zu nehmen, der von Ihrer Versionskontrolle ausgelöst wurde, indem Sie ein Tool wie buildbot verwenden.

Ein Szenario könnte sein, den automatisierten Build mit dem Post-Hook-Skript in Ihrem Subversion-Repository auszulösen. Dies bewirkt, dass Ihr Buildbot auf die zuletzt eingecheckte Revision aktualisiert wird. Ihr Build-Skript (z. B. Makefile) würde 'svnversion' (oder 'svn info' und grep) verwenden, um die Repository-Revision zu lesen und sie in eine Header-Datei zu schreiben, bevor der Build stattfindet.

Überprüfen Sie diese Datei nach dem erfolgreichen Build automatisch mit einem geeigneten Kommentar zur Release-Version in das Repository.

3

Es gibt ein einfaches Tool in TortoiseSVN mit dem Namen SubWCRev.exe. Es dauert Revision von Pfad und erstellen Sie Datei von Ihrer eigenen Vorlage. Sie können es als Prebuild-Befehl verwenden.

Verwandte Themen