AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Werkzeuge SVN Release nummer in Delphi / FinalBuilder
Thema durchsuchen
Ansicht
Themen-Optionen

SVN Release nummer in Delphi / FinalBuilder

Ein Thema von bernhard_LA · begonnen am 15. Jun 2012 · letzter Beitrag vom 17. Jun 2012
Antwort Antwort
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.136 Beiträge
 
Delphi 11 Alexandria
 
#1

SVN Release nummer in Delphi / FinalBuilder

  Alt 15. Jun 2012, 20:28
ich hätte gerne meine SVN Informationen im meinem Delphi-code , leider habe ich kein komplettes Copy & paste Sample hierfür gefunden

http://stackoverflow.com/questions/3...delphi-project
http://www.delphipraxis.net/139374-s...en-delphi.html


was ist denn der einfachste Weg SVN Keywords + RC Builder oder kann mir hier der FinalBuilder helfen ?

Geändert von bernhard_LA (15. Jun 2012 um 23:52 Uhr)
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.136 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: SVN Release nummer in Delphi / FinalBuilder

  Alt 16. Jun 2012, 00:02
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.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.447 Beiträge
 
Delphi 12 Athens
 
#3

AW: SVN Release nummer in Delphi / FinalBuilder

  Alt 16. Jun 2012, 00:59
oder kann mir hier der FinalBuilder helfen ?
Kann er, aber ich weiß nicht, ob du dafür die Vollversion brauchst:

- 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)
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.136 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: SVN Release nummer in Delphi / FinalBuilder

  Alt 16. Jun 2012, 08:01
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 ...
Miniaturansicht angehängter Grafiken
finalbuilder.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.447 Beiträge
 
Delphi 12 Athens
 
#5

AW: SVN Release nummer in Delphi / FinalBuilder

  Alt 16. Jun 2012, 14:37
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.058 Beiträge
 
Delphi 12 Athens
 
#6

AW: SVN Release nummer in Delphi / FinalBuilder

  Alt 16. Jun 2012, 14:49
Finalbuilder arbeitet nicht mit TortoiseSVN zusammen.
Also die Pro-Version arbeitet(e) damit zusammen.

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)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (16. Jun 2012 um 15:03 Uhr)
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.136 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: SVN Release nummer in Delphi / FinalBuilder

  Alt 16. Jun 2012, 22:14
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 ?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.058 Beiträge
 
Delphi 12 Athens
 
#8

AW: SVN Release nummer in Delphi / FinalBuilder

  Alt 16. Jun 2012, 22:40
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (16. Jun 2012 um 22:43 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.447 Beiträge
 
Delphi 12 Athens
 
#9

AW: SVN Release nummer in Delphi / FinalBuilder

  Alt 17. Jun 2012, 13:22
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 ?
Auch das TortoiseSVN muss den Pfad (ob svn oder http) zum Server ja schließlich kennen. Genau diesen trägst du dort auch ein.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 10:18 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