AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wert der SVN Rev als Patchlevel/Ausgabe im Projekt verwenden
Thema durchsuchen
Ansicht
Themen-Optionen

Wert der SVN Rev als Patchlevel/Ausgabe im Projekt verwenden

Ein Thema von Viktorii · begonnen am 19. Jan 2009 · letzter Beitrag vom 19. Jan 2009
Antwort Antwort
Viktorii

Registriert seit: 19. Jul 2007
358 Beiträge
 
#1

Wert der SVN Rev als Patchlevel/Ausgabe im Projekt verwenden

  Alt 19. Jan 2009, 07:48
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
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

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

  Alt 19. Jan 2009, 07:52
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
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#3

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

  Alt 19. Jan 2009, 07:57
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).
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Viktorii

Registriert seit: 19. Jul 2007
358 Beiträge
 
#4

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

  Alt 19. Jan 2009, 08:38
Zitat von Phoenix:
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 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?
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#5

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

  Alt 19. Jan 2009, 08:52
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:05 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