我正在清理一些旧的SVN repo,准备将它们迁移到Git,发现名称中有一些带有特殊字符的标签,我很难删除。
如何删除这些?跳过字符不起作用。单引号不起作用。如果我对特殊字符进行转义,SVN会将其转换为ino。
svn delete -m "cleanup" 'https://svn.repos.com/repo/mobile repo/tags/${TEST_VALUE}'
svn: URL 'https://svn.repos.com/repo/mobile repo/tags/$%257BTEST_VALUE%257D' does not exist
svn delete -m "cleanup" 'https://svn.repos.com/repo/mobile repo/tags/${TEST_VALUE}'
svn: URL 'https://svn.repos.com/repo/mobile repo/tags/$%257BTEST_VALUE%257D' does not exist
这并不是在抱怨特殊字符。它告诉你一个名为${TEST_VALUE}
的标签不存在。而且,我打赌不会。您得到的%257
只是{
的百分比代码。
如果这是一个shell脚本,请在URL周围使用双引号,而不是单引号。这将允许外壳对${TEST_VALUE}
进行插值。
svn delete -m "cleanup" "https://svn.repos.com/repo/mobile repo/tags/${TEST_VALUE}"
我刚刚下载了tortoisesvn,让它处理特殊的字符。容易多了。