如何更改svn存储库的第一个节点?
我有一个存储库,其中包含一个名为code的节点,我想删除它 我希望将以下内容作为根,而不使用父节点代码 有办法改变吗?如何更改svn存储库的第一个节点?,svn,Svn,我有一个存储库,其中包含一个名为code的节点,我想删除它 我希望将以下内容作为根,而不使用父节点代码 有办法改变吗? 我的想法是使用转储更改转储并重新导入。但是我希望有一种更简单的方法可以基于新的开始节点保存完整的历史记录 如果有人想知道为什么会有一个节点。这是使用svnsync的结果,我找到了一种适合自己的方法。我正在使用来自svn的转储和加载功能。 在这种情况下,代码是文件夹结构中的第一个节点,应该将其删除 转储后,我使用sed更改转储文件: sed -i -r 's/(Node-[a
我的想法是使用转储更改转储并重新导入。但是我希望有一种更简单的方法可以基于新的开始节点保存完整的历史记录
如果有人想知道为什么会有一个节点。这是使用svnsync的结果,我找到了一种适合自己的方法。我正在使用来自svn的转储和加载功能。
在这种情况下,代码是文件夹结构中的第一个节点,应该将其删除 转储后,我使用sed更改转储文件:
sed -i -r 's/(Node-[a-z-]+): code\//\1: /'
此外,svn:mergeinfo块中的路径需要更改。我已经通过我的另一个问题的正确答案做了这件事()
最后一步是正常导入,加载我找到了适合自己的方法。我正在使用来自svn的转储和加载功能。
在这种情况下,代码是文件夹结构中的第一个节点,应该将其删除 转储后,我使用sed更改转储文件:
sed -i -r 's/(Node-[a-z-]+): code\//\1: /'
此外,svn:mergeinfo块中的路径需要更改。我已经通过我的另一个问题的正确答案做了这件事()
最后一步是正常导入,加载您应该使用svn copy命令将这3个文件夹从代码复制到根目录,然后使用svn remove删除代码。使用svn copy将阻止您的提交历史记录,您不必费心处理svn:mergeinfo。手动更改svn:mergeinfo从来都不是一个好主意。您应该使用svn copy命令将这3个文件夹从代码复制到根目录,然后svn remove删除代码。使用svn copy将阻止您的提交历史记录,您不必费心处理svn:mergeinfo。手动更改svn:mergeinfo从来都不是一个好主意,只需将它们移动到根目录即可。将完整URL替换为下面的目录
svn mv /code/branches /branches
svn mv /code/trunk /trunk
svn mv /code/tags /tags
svn rm /code
把它们移到根部。将完整URL替换为下面的目录
svn mv /code/branches /branches
svn mv /code/trunk /trunk
svn mv /code/tags /tags
svn rm /code
用例是保存完整的历史记录。这就是我改变svn的原因:mergeinfo.ups,对不起我的英语。我的意思不是“阻止”,而是“保留”:)它将保留历史用例是保留完整的历史。这就是我改变svn的原因:mergeinfo.ups,对不起我的英语。我的意思不是“阻止”,而是“保存”:)它将保留历史