Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wert der SVN Rev als Patchlevel/Ausgabe im Projekt verwenden (https://www.delphipraxis.net/127792-wert-der-svn-rev-als-patchlevel-ausgabe-im-projekt-verwenden.html)

Viktorii 19. Jan 2009 07:48


Wert der SVN Rev als Patchlevel/Ausgabe im Projekt verwenden
 
Hallo.

Ich verwende Subversion in Kombination mit Tortoise. Gibt es eine Möglichkeit den Wert der Subversion Revision als Patchlevel/Ausgabe im Projekt zu verwenden?

Ich habe mal geschaut ob man den Wert der aktuellen Revision im .svn Verzeichnis irgendwo auslesen kann. Hab leider keine Möglichkeit gefunden...

Wer kann mir weiterhelfen?

Vielen Dank

fkerber 19. Jan 2009 07:52

Re: Wert der SVN Rev als Patchlevel/Ausgabe im Projekt verwe
 
Hi!

Ich glaube mich zu erinneren, dass es irgendwo eine Datei ".revnr" gab...
Hast du mal danach geschaut?

Wenn sich nichts finden sollte, kann ich heute nachmittag gerne mal auf meinem anderen rechner (hab hier kein svn laufen) danach schauen...


Ciao, Frederic

Phoenix 19. Jan 2009 07:57

Re: Wert der SVN Rev als Patchlevel/Ausgabe im Projekt verwe
 
Zitat:

Zitat von Viktorii
Ich verwende Subversion in Kombination mit Tortoise. Gibt es eine Möglichkeit den Wert der Subversion Revision als Patchlevel/Ausgabe im Projekt zu verwenden?

Ja.
Bei TortoiseSVN gibt es unter \Programme\TortoiseSVN\Bin\ die Datei SubWCRev.exe.
Hier gibt es die Dokumentation.

SubWcRev kann Textersetzungen in angegebenen Dateien durchführen. $WCREV$ wird dann eben durch die Revisionsnummer ersetzt.

Das ganze als Pre-Build event durchführen (oder mittels Batch-Datei vor Delphi 2006) und Du hast Deine Revisionsnummer im Projekt. Wenn Du die in Deine Versionsnummer einbauen willst musst Du halt dafür sorgen, dass die Textersetzung in der .rc-Datei geschieht und die .rc - Datei vor dem Compilieren in eine .dcr Datei kompiliert wird (brcc32.exe).

Viktorii 19. Jan 2009 08:38

Re: Wert der SVN Rev als Patchlevel/Ausgabe im Projekt verwe
 
Zitat:

Zitat von Phoenix
Zitat:

Zitat von Viktorii
Ich verwende Subversion in Kombination mit Tortoise. Gibt es eine Möglichkeit den Wert der Subversion Revision als Patchlevel/Ausgabe im Projekt zu verwenden?

Ja.
Bei TortoiseSVN gibt es unter \Programme\TortoiseSVN\Bin\ die Datei SubWCRev.exe.
Hier gibt es die Dokumentation.

SubWcRev kann Textersetzungen in angegebenen Dateien durchführen. $WCREV$ wird dann eben durch die Revisionsnummer ersetzt.

Das ganze als Pre-Build event durchführen (oder mittels Batch-Datei vor Delphi 2006) und Du hast Deine Revisionsnummer im Projekt.

Das habe ich soweit geschafft. Vielen Dank.


Zitat:

Zitat von Phoenix
Wenn Du die in Deine Versionsnummer einbauen willst musst Du halt dafür sorgen, dass die Textersetzung in der .rc-Datei geschieht und die .rc - Datei vor dem Compilieren in eine .dcr Datei kompiliert wird (brcc32.exe).

Hier bräuchte ich noch etwas Hilfe. Ich finde bei mir keine .rc Datei, oder muss ich die erstellen? Und wie genau kompeliere ich diese dann in eine .dcr Datei?

Phoenix 19. Jan 2009 08:52

Re: Wert der SVN Rev als Patchlevel/Ausgabe im Projekt verwe
 
Das ist etwas Tricky :)

Und das hat einen Nachteil: Dir geht das Feature flöten, die Versionsnummer (und ggf. das Anwendungsicon) aus der IDE heraus zu setzen. Das geht dann nur noch in der .rc-Datei.

Ganz grob (ich hab grad wenig Zeit):

Mittels eines Tools (ich hab den Namen leider grad nicht mehr Kopf, sorry. Such hier aber mal nach Ressource und Tool. Das heisst resource explorer oder so ähnlich) kannst Du aus der .res-Datei in Deinem Projekt eine .rc - Datei erstellen.

Diese RC-Datei enthält zum einen die Versions-Ressourcen und eben einen Verweis auf das Anwendungs-Icon.
Mittels dem Delphi Resource Compiler (brcc32.exe) kannst Du aus dieser .rc - Datei jederzeit wieder eine .res compilieren.

Also: Du entfernst aus Deiner Projektdatei den {$R *.res} eintrag. Damit hat Dein Projekt keine Ressourcen die durch die IDE verwaltet werden mehr (also weder die Versionsinfo noch das Icon). Ich würde jetzt lediglich das Icon, aber NICHT die Versionsinformationen wieder mit der IDE hinzufügen. Damit hast Du nur noch das Icon in der von der IDE erstellten ressource.

Den Verweis auf das Icon entfernst Du aus der .rc Datei. Hier sind jetzt nur noch die Versionsinformationen drin. Diese compilierst Du z.B. in eine "ProjektName_Version.res" Datei. Diese bindest Du jetzt mittels der {$R} Direktive wieder ins Projekt ein. In der .rc-Datei kannst Du jetzt wieder die Textersetzungen machen, musst die Datei aber mittels brcc32 vor dem Compilieren wieder in die zum Linken benötige .res - Datei packen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz