我在设置(或更改)svn:externals
时遇到问题我本地的定义 svn
工作副本。第一的
svn propget svn:externals
列出以下内容:
https://path/to/mytool/tags/1.0.8 mytool
我想改变这个属性,让它指向一个带有修订号
1.0.9
的标签.我尝试了以下方法:svn propset svn:externals https://path/to/mytool/tags/1.0.9 mytool
svn: Error parsing svn:externals property on 'mytool': 'https://path/to/mytool/tags/1.0.9'
和
svn propset mytool svn:externals https://path/to/mytool/tags/1.0.9
svn: Setting property on non-local target 'https://path/to/mytool/tags/1.0.9' needs a base revision
和上面相同的 URL 和目标目录设置在引号中(作为对同一问题的答案),这两者都会产生错误
svn: Explicit target required ('https://path/to/mytool/tags/1.0.9 mytool' interpreted as prop value)
那我到底做错了什么?如何正确更改属性。
svn help
在这里并没有真正的帮助......附录:与
svn propedit svn:externals .
它似乎工作。我可以更改这个属性,我现在可以提交。但是propset
似乎不起作用。
最佳答案
您必须指定 PROPVAL
以 TARGET-DIRECTORY EXTERNAL-PATH
的形式并将其设置在 TARGET-DIRECTORY
的父目录中.所以在你的例子中,那将是......
svn propset svn:externals "mytool https://path/to/mytool/tags/1.0.9" .
...在名为
mytool
的目录的父目录中执行.更新:要使用多行执行此操作,我使用的常规方法是将属性写入文件,例如
externals.txt
,然后设置它svn propset svn:externals -F externals.txt .
在 Linux 下,你也可能逃脱 this one-liner ,但我不知道 Win32 类似物。
SVN 在执行此任务时并没有特别出色:/
关于svn - 设置 svn externals 属性时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18848146/