![]() |
SVN Release nummer in Delphi / FinalBuilder
ich hätte gerne meine SVN Informationen im meinem Delphi-code , leider habe ich kein komplettes Copy & paste Sample hierfür gefunden
![]() ![]() was ist denn der einfachste Weg SVN Keywords + RC Builder oder kann mir hier der FinalBuilder helfen ? |
AW: SVN Release nummer in Delphi / FinalBuilder
Aktuelle Lösung : Mini Anwendung erstellt welche die SVN KeyWord Daten in eine Pascal Include Datei schreibt. Diese Include Datei binde ich dann in allen meinen Anwendungen ein und kann die SVN Infos anzeigen.
Delphi-Quellcode:
unit Unit_SVN2Code;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, addons; /// this file is with SVN key words, it is changed by SVN with very update / commit const SVNINFO='C:\.....\svn_infot.txt'; /// This file is written and contains the SVN info now as a pascal file NEWPASFILE='C:\....\svn_info.inc'; type TMainForm = class(TForm) edt_svninfofile: TEdit; edt_newpascalfile: TEdit; btn_writeIncludeFile: TBitBtn; procedure FormCreate(Sender: TObject); procedure btn_writeIncludeFileClick(Sender: TObject); procedure FormShow(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var MainForm: TMainForm; implementation {$R *.dfm} procedure TMainForm.btn_writeIncludeFileClick(Sender: TObject); var Infile : TStringList; OutFile : TStringList; WordList: TStringList; i : Integer; begin Infile :=TStringList.Create; OutFile :=TStringList.Create; Infile.LoadFromFile(SVNINFO); OutFile.Add('/// -------------------------------------'); OutFile.Add('/// automatic generated include file '); OutFile.Add('/// -------------------------------------'); OutFile.Add('CONST'); for I := 0 to Infile.Count-1 do begin WordList:=TStringList.Create; StringToWordList(Infile[i], WordList); case i of 0: OutFile.Add('SVN_REVISION='+''''+WordList[1]+''';'); 1: OutFile.Add('SVN_AUTHOR='+''''+WordList[1]+''';'); 2: OutFile.Add('SVN_DATE='+''''+WordList[1]+''';'); else OutFile.Add('/// -------------------------------------'); end; end; OutFile.SaveToFile(NEWPASFILE); end; procedure TMainForm.FormCreate(Sender: TObject); begin edt_svninfofile.Text := SVNINFO; edt_newpascalfile.Text := NEWPASFILE; end; procedure TMainForm.FormShow(Sender: TObject); begin /// form 5 sec anzeigen Sleep(5000); /// datei schreiben btn_writeIncludeFileClick(Sender); /// fertig Close; end; end. die Anwendung mit svn Info Anzeige
Delphi-Quellcode:
{$INCLUDE 'C:\......\svn_info.inc'} Label_svn_revision.Caption := svn_revision; Label_svn_author.Caption := svn_author; Label_svn_date.Caption := svn_date; Im Final Builder erzeuge ich zuerst die Exe meiner mini Anwendung, dann führe ich die Mini Anwendung aus dem FB heraus aus, letzter Schritt alle anderen exe Files im FB erzeugen, verwenden die aktuallisierte INCLUDE datei im den SVN Infos. |
AW: SVN Release nummer in Delphi / FinalBuilder
Zitat:
- Variable namens "SvnRevision" anlegen - Action "Subversion Info" schreibt Repository Revision in diese Variable - PropertySet define "VersionInfo" (wenn nicht schon vorhanden) - alle anderen Werte von PropertySet passend füllen (MajorVersion, MinorVersion, ReleaseVersion) - BuildVersion von PropertySet aus Variable SvnRevision setzen - bei Build Delphi die VersionInfo aus dem PropertySet setzen (ist sowieso die empfohlene Methode) |
AW: SVN Release nummer in Delphi / FinalBuilder
Liste der Anhänge anzeigen (Anzahl: 1)
ich habe bereits Probleme den FB mit unserem SVN Server zu verbinden.
Wir verwenden Tortoise auf unseren Clients und brauchen hier nur eine URL (\\servername\reposititory\) und einen Pfad für unserer Programm-Daten auf der lokalen Festplatte. Im Dialog TOOL-Version Control System-SVM müssen im TAB GLOBAL und UTILITY der Pfad zur SVN Bin und viele weitere Daten angegeben werden. Diese Daten habe ich alle nicht ... |
AW: SVN Release nummer in Delphi / FinalBuilder
Wichtig ist nur der Pfad zu den Binaries. Wenn du bei der Delphi-Installation den Collabnet SVN-Client installiert hast, nimm dessen bin-Verzeichnis. Ansonsten musst du den erst nachinstallieren. Finalbuilder arbeitet nicht mit TortoiseSVN zusammen.
|
AW: SVN Release nummer in Delphi / FinalBuilder
Zitat:
Hab jtzt zwar noch nicht die 1.7 ausprobiert, aber mit der 1.6 funktionierte es. - Revisionen auslesen, Auschecken, Einchecken, Updaten usw. war problemlos möglich. Die Delphi beigelegte Version war aber nicht wirklich nutzbar, zumindestens bei uns auf Arbeit, da dieses Version beim Laden einfach alles wegläßt, was sie nicht kennt und das ohne auch nur ein Wort darüber zu verlieren. (Wenn man nicht selber merkt, daß dann was fehlt, ist man am Arsch) |
AW: SVN Release nummer in Delphi / FinalBuilder
wir benutzen svn nur via http, da macht ja ein Pfad gar keinen Sinn.
Auch für Delphi XE und SVN gehen alle Beipiele die ich kenne immer von einer lokalen SVN installation aus ??? Ist eine Server Insrallation nicht vorgesehen ? |
AW: SVN Release nummer in Delphi / FinalBuilder
Wieso nur lokal?
Ich kenne auch nur Beispiele, wo man über das Internet (URL) auf's SVN zugreift. Nee, auch über einen Server funktioniert natürlich. Ob über http:// oder über svn:// sollte eigentlich keinen Unterschied machen. Hatte testhalber mal die JEDI via Delphi über SVN gezogen ausgecheckt. |
AW: SVN Release nummer in Delphi / FinalBuilder
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz