回答
您有幾種選擇:
- 使用命令行客戶端,只需要調用正確的命令。在大多數編程語言中,有一些系統命令允許您執行此操作。在Windows Batch或BASH等腳本語言中,您可以直接從程序直接運行命令行客戶端。
- 使用C API
- 使用另一個充當API封裝的實現,或者模擬API(如SVNKit)。
你沒有提到你的語言腳本英寸大多數語言都有自己的Subversion界面。 Java可以使用SVNkit或JavaHL。 C可以直接使用C API。 C#有SVN.net。 Python有Pysvn。 Perl有SVN::Client。
下面是如何通過在Unix/Linux操作系統/ Mac上的標準的命令行獲取文件的特定版本:
$ svn cat -r$SVN_REVISION $URL_TO_FILE_NAME > $FILE_NAME
的svn cat
命令打印出你想要的文件。 -r
指定Subversion版本(否則,將使用HEAD
- 該分支上的最新版本)。
請記住,如果您要根據標記提取文件,則不需要參數-r
,因爲該URL包含所需的標記。拉起基於標籤的文件:
$ svn cat $SERVER_URL/tags/$TAG_NAME/$PATH_TO_FILE > $FILE_NAME
客戶端程序稱爲svn
和svn help
會給你所有的各種子命令。另外,online Subversion Manual解釋了命令行的工作方式。
使用命令行是一個很好的建議。我不知道腳本語言。我看到Eclipse上的Subversion插件使用SVNKit?我想我應該用命令行練習一下,看看它是如何工作的。 – 2013-04-30 22:17:11
SVNKit不是一種「腳本語言」,它是Java中完整的SVN客戶端API實現。 – alroc 2013-05-01 01:25:28
SVNKit是一個純Java API。如果你使用的是Java,你可以使用SVNKit.jar作爲你的Java程序的一部分來訪問你的Subversion版本庫,就像Eclipse一樣。 ***不管***,如果你下載SVNKit,你會看到幾個shell腳本的例子,從命令行直接訪問SVNKit。當然,如果你這樣做,你也可以使用命令行客戶端本身。 – 2013-05-01 13:43:47
- 1. 以編程方式從bar-descriptor.xml文件中提取版本號
- 2. 從svn存儲庫中的以前版本複製文件
- 3. SVN - 以編程方式提交文件 - 錯誤svn:E200009:xyz.java不受版本控制
- 4. Git以編程方式從遠程存儲庫獲取單個文件
- 5. 以編程方式從win32轉儲文件讀取內存
- 6. 使SVN工作文件夾與存儲庫版本相同
- 7. 如何以編程方式「實時」設置SVN存儲庫?
- 8. 如何從本地存儲庫以編程方式獲取Maven工件的最高版本?
- 9. 如何使用SVN存儲庫獲取一批文件版本
- 10. 以編程方式從圖像中提取文本
- 11. 以編程方式獲取IIS版本
- 12. 以編程方式獲取SignalR版本
- 13. 從Windows批處理文件中的遠程存儲庫svn頭版本 - 系統找不到指定的文件
- 14. Eclipse RCP:如何以編程方式從產品文件中獲取版本號?
- 15. 通過DotNetZip庫以編程方式提取ZIP文件?
- 16. 以編程方式獲取當前版本的ruby標準庫
- 17. 提取存儲在tar歸檔文件中的以前版本的文件
- 18. SVN外部從本地存儲庫到遠程存儲庫
- 19. SVN SVN版本控制文件在哪裏存儲在本地?
- 20. 以編程方式從7zip中提取單個特定文件存檔 - Java - Linux
- 21. 從文本文件中提取文本並以不同的格式寫入
- 22. 安裝從SVN存儲庫中的特定版本
- 23. 如何以編程方式使用SVN和.NET進行文件版本控制?
- 24. 從CVS存儲庫獲取文件的最新版本號
- 25. Vim以編程方式保存不同的文件擴展名
- 26. 如何以編程方式獲取SVN修訂版號?
- 27. 以編程方式添加的EditText不同於XML版本
- 28. 以編程方式將文件從Azure Blob存儲轉移到Google Cloud存儲
- 29. SVN。存儲庫文件夾
- 30. Git:從存儲庫中遠程提取
SVN是否有自己的腳本語言? – 2013-04-30 18:25:06
@HovercraftFullOfEels我還不知道。我必須更多地研究這個問題。我希望有可能通過URL來提取文件,但也許這是不可能的。 – 2013-04-30 22:14:29