我提交了一些第三方工具,我决定不再使用它们,然后再将它们从hg中移除。
我不喜欢的东西 - 它们仍然保留在历史中。通常这当然是件好事,但对于这种特殊情况 - 这只是浪费空间。
有哪些选项可以故意搞乱hg存储库历史记录并清除它?
答案 0 :(得分:4)
如果您不介意切换到新的存储库,最好的办法是使用转换扩展名。
您可以传递一个不包含任何要排除的文件的文件图,它会为您创建一个新的存储库,而不会引用任何文件。当然,这意味着必须克隆新的工作副本。
这意味着存储库的每个工作副本,因此如果有大量工作副本,请准备好做很多工作。
答案 1 :(得分:3)
激活mercurial队列扩展并使用“hg strip”重写历史记录。如果你有任何克隆,推动他们的更改并销毁它们,做“hg strip”并再次克隆。
如果那里有克隆你无法控制,所有的赌注都关闭了。我会使用“convert”扩展来重建存储库,执行“hg strip”,并替换旧的存储库。尝试推/拉时,旧克隆会出错,因为新存储库具有不同的UUID,因此用户将知道他们必须再次销毁+克隆。