0

我希望能够提取文件的不同版本。

颠覆是否支持允许这样做的协议?如果没有,我可以查看哪些文档来弄清楚如何列出和检索文件的不同版本?

4

1 回答 1

2

你有几个选择:

  • 使用命令行客户端,只需调用正确的命令。在大多数编程语言中,都有某种系统命令允许您执行此操作。在 Windows Batch 或 BASH 等脚本语言中,您可以直接从程序运行命令行客户端。
  • 使用C API
  • 使用充当 API 包装器的另一个实现,或模拟 API(就像SVNKit一样)。

你没有提到你正在编写脚本的语言。大多数语言都有自己的 Subversion 界面。Java 可以使用SVNkitJavaHL。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

客户端程序被调用svnsvn help它将为您提供所有各种子命令。此外,在线 Subversion 手册解释了命令行的工作原理。

于 2013-04-30T19:28:50.157 回答