我查看了 TortoiseSVN 文档,即使可能也没有找到任何东西,但我想我把问题抛在了那里。你能以编程方式从 svn 中提取/获取项目列表吗?
2 回答
我会说,是的,你可以通过两种方式。
- 由于 TorroiseSVN 只是一个用于颠覆的 UI 客户端,因此您需要将 svn 作为一个带有一些参数的进程启动,例如:svn list --verbose。
在 Windows 上看起来像:
ShellExecute(0, 0, L"svn list --verbose", 0, 0 , SW_SHOW );
看看 svn 的 API:http ://svnbook.red-bean.com/en/1.7/svn.developer.usingapi.html
- 在这里,您可以直接获得 TortoiseSVN 的 API(自动化):http: //tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-automation.html,例如
示例(应输入一行):
TortoiseProc.exe /command:commit /path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt" /logmsg:"测试日志信息" /closeonend:0
TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0
TortoiseProc.exe /command:log /path:"c:\svn_wc\file1.txt" /startrev:50 /endrev:60 /closeonend:0
TortoiseSVN 不打算以这种方式使用 - 它是一个 GUI 客户端,一个 Windows Explorer shell 扩展。如果您需要使用 Subversion 使事情自动化,请使用svn.exe
(从 1.7 开始随 TSVN 一起安装,或者您可以在其他地方获得它)、类似SharpSVN的库或直接使用 TSVN DLL(可能是最不受欢迎的方法)
但是,请记住,Subversion 没有“项目”的概念——它只是一个版本化的目录结构。您将意义应用于您在存储库中创建的结构。