SVN:如何通过命令行在远程存储库上设置外部属性

时间:2015-07-22 07:43:24

标签: batch-file svn

我正在尝试创建一个可以自动化远程标记上的外部属性集的批处理。该批次应该在Windows上运行。

我通常通过Tortoise SVN Repo Browser完成此操作,如下图所示:

Edit of external property 我尝试使用此命令行执行相同的操作

svn propset svn:externals 'LocalPath https://svnserver/svn/myproject/tags/1.00/DISTRIBUZIONE89' https://svnserver/svn/myproject/tags/Distribuzione

但似乎无法在远程存储库上运行。

是否可以运行批处理中的可执行命令行来执行此操作?

非常感谢......

2 个答案:

答案 0 :(得分:4)

svn propset不使用URL,它需要签出工作副本。因此脚本应该看起来像(未选中):

svn co --depth empty https://svnserver/svn/myproject/tags/Distribuzione wc
svn propset svn:externals "LocalPath https://svnserver/svn/myproject/tags/1.00/DISTRIBUZIONE89" wc
svn ci -m "Set externals"

P.S。我猜TortoiseSVN使用与temp checkout相同的技巧,或使用一些未通过命令行公开的Subversion API。

答案 1 :(得分:0)

使用 bat 文件窗口 :-

svn checkout {tag url where property is to be set} {tempfoldername} --depth empty
echo {target value url for property} {foldername} > {tempfilename}
svn propset svn:externals tempfoldername -F tempfilename
svn commit -m "your commit message" tempfoldername
RD /S /Q tempfoldername
del /F /Q tempfilename