gpt4 book ai didi

delphi - 读取SVN :externals from working copy

转载 作者:行者123 更新时间:2023-12-03 15:37:42 25 4
gpt4 key购买 nike

直到最近,只需读取 .svn 子目录中存储的一些文本文件,即可轻松读取 subversion 工作副本中引用的所有 SVN:Externals。随着使用 mysql 表更改为新的磁盘结构,这不再那么简单。

我想更新一个内部使用的工具,该工具用于读取外部列表以使用新结构。该工具是用 Delphi 2007 编写的,因此我更喜欢用 Delphi 编写一些代码。

Version Insight for RAD Studio在 sourceforge 上,它可能包含一些代码来完成这个技巧,但我想知道是否有其他机构可能已经完成了从该项目中提取所需部分的工作,或者有替代方案。

最佳答案

您还可以使用 Subversion 客户端 DLL 以编程方式完成此操作。这是用 Delphi XE 编写的最小示例:

program svnext;

{$APPTYPE CONSOLE}

uses
SysUtils,
SvnClient;

procedure Main;
var
SvnClient: TSvnClient;
SvnItem: TSvnItem;
begin
// Subversion client DLL directory; here I simply use the .exe's directory
// (I copied the DLLs there manually.)
BaseDllDir := ExtractFilePath(ParamStr(0));

SvnClient := nil;
SvnItem := nil;
try
SvnClient := TSvnClient.Create;
SvnClient.Initialize;
SvnItem := TSvnItem.Create(SvnClient, nil, ParamStr(1));
Writeln(SvnItem.PropValues['svn:externals']);
finally
SvnItem.Free;
SvnClient.Free;
end;
end;

begin
try
Main;
except
on E: Exception do
begin
ExitCode := 1;
Writeln(Format('[%s] %s', [E.ClassName, E.Message]));
end;
end;
end.

您可能需要调整 Delphi 2007 的代码。似乎 Version Insight 在此期间已经发展并失去了(部分)向后兼容性。

关于delphi - 读取SVN :externals from working copy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7980679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com