你能移动svn路径并让历史“跟随”移动吗?

时间:2012-10-18 14:01:25

标签: svn

我认为这可能是SVN故意不允许的,但我无法从我的搜索中得到明确的答案。

我想知道是否可以将SVN存储库中的路径移动到新位置,并且移动历史记录以使存储库的行为就像内容始终存在于此新位置一样。 svn rename / mv的行为是这样的,内容被移动到当前和未来修订的新路径,但先前的修订仍然指向旧位置。

如前所述,我可以看到这实际上如何破坏了存储库历史记录的有效性(并且需要重写以前的修订版),但它似乎也许是其他用户一直在寻找的东西,因此也许是可能的。如果我理解正确,可以通过rebase在git中实现。

更新

如果我使用svnadmin转储转储repo内容并使用svndumpfilter过滤到两个单独的转储,然后将这些转储加载到不同的位置,新位置仍将包含旧存储库路径中附加的任何前导路径。为了说明,如果我在我的仓库“/ trunk / PathA”中有一个路径,并且我想将其移动到“/ trunk / PathB”,并且我按照找到的here方法进行移动,看起来它会进入“/ trunk / PathB / trunk / PathA”。

1 个答案:

答案 0 :(得分:1)

您可以编辑转储文件以在加载前更改路径。 这是一个perl脚本来做到这一点。 SVN-DumpReloc