我正在用 C# 编写一个小型控制台工具,它需要知道 SVN 工作副本目录的修订号才能处理具有此编号的其他数据。通过直接读取所有 .svn 目录中的条目文件,我已经支持 SVN 1.4 到 1.6。但是SVN 1.7已将其更改为使用单个 .svn 目录,其中包含 SQLite 数据库。
确定工作目录的修订号的最佳方法是什么?
我刚刚尝试使用 SharpSVN,但它基本上没有记录,我不知道如何使用它。它也非常大,有 5 MB 和可能有几个 DLL。
我找不到可免费下载的简单 SVN 命令行客户端。另外,上次我看到一个,它很大,由许多文件组成,不完全可移植。(如果我的工具仅作为单个 .exe 文件提供,那就太好了。)
另一种选择是使用 SQLite 库(以单独的 DLL 形式提供)并自己挖掘数据库。我已经对此进行了基础研究,但我不确定如何检测未提交的修改。
TortoiseSVN,很可能已经安装在将要使用我的工具的机器上,不能使用,因为它包含单个 GUI 应用程序中的所有内容,没有我可以重用的 DLL。