Subversion Revision in About-Box

Alles rund um die Programmierung mit Qt
Antworten
Strahlex
Beiträge: 158
Registriert: 23. Dezember 2008 15:49
Wohnort: Österreich

Subversion Revision in About-Box

Beitrag von Strahlex »

Wie bekomme ich immer die aktuelle Subversion Revision in die About-Box?
Gibts da irgenteinen Pre-Compiler Befehl?

So hätte ich mir das vorgestellt:

Code: Alles auswählen

 
QMessageBox::about(this,tr("About blabla"),tr("blabla Revision: %1").arg(<Subversion Revision>));
PS: Das Build-Datum wäre vielleicht auch interessant.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: Subversion Revision in About-Box

Beitrag von franzf »

Strahlex hat geschrieben:Wie bekomme ich immer die aktuelle Subversion Revision in die About-Box?
Da es da m.M.n. nix fertiges gibt, musst du das beim Kompilieren selber machen.
Entweder output von svn info -r BASE parsen, oder im Hauptverzeichnis die .svn/entries.
PS: Das Build-Datum wäre vielleicht auch interessant.
QFileInfo auf QCoreApplication::applicationFilePath () loslassen.
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

Auf Fileebene lässt sich das mit svn properties lösen:

Code: Alles auswählen

$ svn propset svn:keywords "Revision" main.c
property 'svn:keywords' set on 'main.c'
$
und in main.c:

Code: Alles auswählen

 printf("Revision: $Revision$");
Weitere infos findet man in seiner Lieblingssuchmaschine unter "svn keyword substitution" und "svn propset".

Jedoch: die Revisionsnummer wird nur in genau der festgelegten File nachgetragen... d.h., dass man vor dem Release der Software diese Datei nochmals modifizieren und einchecken muss, damit die Revision stimmt.

Sonst wie von franzf erklärt oder anstelle des Parsens einfach

Code: Alles auswählen

  $ svnversion .
2945M
aufrufen... ich mache sowas jeweils in der Makefile (oder qt-profile) und erstelle entsprechende Compiler-Flags (z.B. "-DSVN_REVISION='2945'").

hth...
Strahlex
Beiträge: 158
Registriert: 23. Dezember 2008 15:49
Wohnort: Österreich

Beitrag von Strahlex »

Danke, scheint zu funktionieren. :D

PS: muss man das mit den keywords bei jeden SVN-Benutzer einstellen?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Die keywords sind properties der Datei. Also nein.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Strahlex
Beiträge: 158
Registriert: 23. Dezember 2008 15:49
Wohnort: Österreich

Beitrag von Strahlex »

Die Revision wird nur dann geändert wenn die Datei geändert wird, wenn jetzt aber eine andere Datei geändert wird ändert sich die Revision nicht.

Gibts dafür auch noch eine Lösung? :?:
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Nein - aber wenn Du ein Release machst wird Dein Build-Script daran wohl denken können. Zumindest haben wir das so in der Art gelöst.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten