svn classes: added property version of the installed svn executable.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1831 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
vsnijders
2011-08-25 10:49:53 +00:00
parent 608dfa4e35
commit 6f85ed7742

View File

@ -41,12 +41,34 @@ uses
function ExecuteSvnCommand(const Command: string; Output: TStream): integer;
function ExecuteSvnCommand(const Command: string): integer;
procedure DumpStream(const AStream: TStream);
function GetSvnVersionNumber: string;
property SvnVersion: string read GetSvnVersionNumber;
var
SvnExecutable: string;
implementation
var
SvnVersionNumber: string;
procedure InitializeSvnVersionNumber;
var
OutputStream: TStream;
FirstDot, SecondDot: integer;
begin
OutputStream := TMemoryStream.Create;
try
ExecuteSvnCommand('--version --quiet', OutputStream);
SetLength(SvnVersionNumber, OutputStream.Size);
OutputStream.Seek(0,soBeginning);
OutputStream.Read(SvnVersionNumber[1],Length(SvnVersionNumber));
finally
OutputStream.Free;
end;
end;
procedure InitializeSvnExecutable;
begin
if FileExists(SvnExecutable) then exit;
@ -133,6 +155,13 @@ begin
lines.Free;
end;
function GetSvnVersionNumber: string;
begin
if SvnVersionNumber='' then
InitializeSvnVersionNumber;
Result := SvnVersionNumber;
end;
end.