在使用此回购(最初是SVN)的过程中,我一直没有把文件链接放在一起。我已经改变了IDE两次,将项目分解成Netbeans模块,并在其时间内使项目变得复杂化。大部分文件历史丢失,主要是因为在mavenizing期间,我删除了整个主干,提交,复制到maven项目中,并提交。不完全是最好的想法,因为我后来发现所有的历史都重置到了这一点。它变得非常糟糕,以至于一个版本库统计程序是无用的,因为它说我有50,000行代码投入而不是~8,000。在Mercurial中修复移动文件之间的链接
有什么方法可以修复所有破损的文件历史吗?我有权访问SVN和Git,如果Mercurial无法做到这一点
由于我是本回购库中唯一的人,并且没有人克隆它,所以我应该很好地处理它。但是,有没有办法在SVN中合并我做的删除和复制提交?因为在实施之前你仍然有破碎历史的问题。我能想到的唯一方法是回滚到特定修订版,完成工作,然后将所有更改应用于顶部。但是我不太了解如何在Mercurial中做的事情,我认为它会释放所有时间戳,这是我想要保存的东西。 – TheLQ 2010-12-12 07:05:39
如果你要export-everything import-everything路由,你可以使用'hg import --no-commit'合并两个变更集,然后在执行'hg commit'之前进行两次导入。时间戳可以设置为您想要在变更集上进行的任何操作(请参阅'commit --date'),并且文件时间戳完全不会被追踪。 – 2010-12-13 03:59:16
回到这个问题,我试图做到这一点,但遇到了重建回购问题。我用'hg export --git -a -o“../patch-%r.patch”-vv 0:tip'输出,并用(大大简化) grep补丁\'; do hg import --similarity 90 --user“...”--force --date“...”../$i;完成;'。但是,我收到很多导入错误:文件不存在,它们已经存在,或者被拒绝。有什么建议么? – TheLQ 2011-01-16 22:54:17