我svn:externals在本地svn工作副本中设置(或更改)定义时遇到问题.第一
svn propget svn:externals
Run Code Online (Sandbox Code Playgroud)
列出以下内容:
https://path/to/mytool/tags/1.0.8 mytool
Run Code Online (Sandbox Code Playgroud)
我想更改此属性,使其指向带有修订号的标记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'
Run Code Online (Sandbox Code Playgroud)
和
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
Run Code Online (Sandbox Code Playgroud)
和上面相同的URL和目标目录在引号中设置(找到相同问题的答案),这两者都产生错误
svn: Explicit target required ('https://path/to/mytool/tags/1.0.9 mytool' interpreted as prop value)
Run Code Online (Sandbox Code Playgroud)
那么我做错了什么?如何正确更改属性.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" .
Run Code Online (Sandbox Code Playgroud)
...在被调用目录的父目录中执行mytool.
更新:要使用多行执行此操作,我使用的常规方法是将属性写入文件,例如externals.txt,然后将其设置为
svn propset svn:externals -F externals.txt .
Run Code Online (Sandbox Code Playgroud)
在Linux下你可能也会使用这个单线程,但我不知道Win32模拟器.
SVN在完成这项任务时并不是特别闪耀:/