问题描述
我有一个包含一个目录的项目,该目录最初(数百次提交前)是从另一个目录逐字复制的,但是没有使用 svn cp,因此历史上存在脱节.现在可以在初始复制点连接这两个目录,还是来不及了?
I have a project with one directory that was originally (several hundred commits ago) copied verbatim from another directory, but svn cp wasn't used so there's a disconnect in history. Is it possible to connect the two directories at the initial copy point now, or is it too late?
推荐答案
让我猜猜你在说什么:
- 目录
foo
在 Subversion 中 - 在修订版 #100 中,有人将
foo
复制到bar
- 然后他们将
bar
添加到存储库并提交并创建了修订版 #101. - 现在 Subversion 的修订版为 #2302.
- Directory
foo
is in Subversion - In revision #100, someone copied
foo
tobar
- They then added
bar
to the repository and did a commit and created revision #101. - Now Subversion is at revision #2302.
你想要做的是以某种方式回到历史上回到修订版#100,重做副本并添加一个真正的svn copy
.这样,你就可以看到 bar 从 foo 复制的历史记录.
What you want to do is somehow go back in history back to revision #100, and redo the copy and add with a true svn copy
. That way, you can see the history of bar that it was copied from foo.
可能有一种方法可以对存储库进行 svnadmin 转储
,然后进行 svnadmin 加载
.
There might be a way of doing an svnadmin dump
of the repository, and then an svnadmin load
.
您需要创建一个版本 1 到 100 的转储和另一个 102 的转储到头.您将修订版 1 到 100 加载到存储库中.然后你做你的 svn copy
并提交修订版 101.最后,你加载修订版 102 以进入存储库.
You need to create a dump of revisions 1 to 100 and another dump of 102 to head. You load in revisions 1 to 100 into the repository. Then you do your svn copy
and commit revision 101. Finally, you load in revisions 102 to head into the repository.
理论上,这应该可以解决问题.我从来没有做过这个特别的修复,但我做过其他选择性的转储和加载,我改变了历史.
That, in theory, should fix the issue. I have never done this particular fix, but I've done other selective dump and loads where I changed the history.
这篇关于如果执行了 svn cp 而不是 cp,是否可以追溯添加历史记录?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!