是否可以仅通过URL操作颠覆属性,例如svn:externals
? (即没有在工作副本。)如何对URL使用subversion的propset?
我想使得销svn:externals
给定一个颠覆URL一个特定版本的脚本,但这似乎是不可能的:
$ svn propset foo bar https://example.com/svn/myproject/trunk
svn: Setting property on non-local target 'https://example.com/svn/myproject/trunk' needs a base revision
$ svn propset foo bar -r HEAD https://example.com/svn/myproject/trunk
svn: Try 'svn help' for more info
svn: Cannot specify revision for setting versioned property 'foo'
$ svn propset foo bar --revprop -r HEAD https://example.com/svn/myproject/trunk
svn: DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent
svn: At least one property change failed; repository is unchanged
svn: Error setting property 'foo':
could not remove a property
(我得到相同结果如果我使用的是实际修订版号而不是HEAD
。)
解决方法似乎是'svn checkout --depth = empty'到'mktemp'或类似的临时目录中(这相当快),使用'svn propset'进行更改,提交,然后删除临时目录。 – mjs 2012-01-13 12:06:28
还有另一种选择:svnmucc,它包含在SVN源文件中,但默认没有生成或安装。你可以在http://svnbook.red-bean.com/en/1.8/svn.ref.svnmucc.re.html阅读它。 – trent 2013-04-19 19:03:50
添加到@trent的注释中,TortoiseSVN现在将svnmucc与版本1.8.1以及更新版本的https://sourceforge.net/p/tortoisesvn/tickets/496/ – 2016-12-16 22:14:25