我有hg
(Mercurial)回购,位于:
http://myhg:5000/projects/fizzbuzz
此fizzbuz
目录具有以下基本结构:
fizzbuzz/
src/
... thousands of source files
docs/
... lots of docs
tests/
... lots of tests
我现在完全重新设计 fizzbuzz
应用。新应用程序的项目结构完全与现有应用程序不同(从上到下):
fizzbuzz/
herps/
foo/
... thousands of foos
bar/
... thousands of bars
derps/
... lots of derps
它本质上是一个全新的应用程序。我想一个解决方案是删除fizzbuzz
repo,然后创建一个新的代码并将我的代码添加到新的代码中。但我想知道是否有办法基本上告诉hg
删除回购中的所有内容(但不删除回购),然后添加新的,重新设计的内容。或者其他一些方法来优雅地替换旧的代码库。想法?提前谢谢!
答案 0 :(得分:0)
当然,您可以通过删除所有内容并提交所有更改(所有删除)来擦除存储库。如果您需要恢复或查看旧代码,则在删除之前检查修订版仍然可以使用它。除非您的存储库在磁盘上非常大,否则这可能是要走的路 - 或者您可以为新版本启动一个新的存储库并保持当前的存储库。
在任何一种情况下,删除所有代码及其历史通常都是不明智的。
答案 1 :(得分:0)
看看Convert extension。虽然根据设计,无法更改当前存储库的历史记录,但您可以通过hg convert
根据现有存储库的历史记录构建新的存储库。这对于您描述的场景非常有用,您需要将文件结构重构到旧历史不再有用的程度。
也就是说,考虑直接在当前存储库中进行更改。重写历史会带来什么实际好处?立即进行更改,Mercurial将继续执行跟踪您来自何处的工作。