Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial 易变的永久删除?_Mercurial - Fatal编程技术网

Mercurial 易变的永久删除?

Mercurial 易变的永久删除?,mercurial,Mercurial,我提交了一些我后来决定不再使用的第三方工具,并再次将它们从hg中删除 我不喜欢的东西——它们仍然被保留在历史中。正常情况下,这当然是件好事,但对于这种特殊情况,这只是浪费空间 有哪些选项可以故意篡改hg存储库历史并将其删除?如果您不介意切换到新存储库,最好使用convert扩展 您可以传递一个文件映射,该映射将排除您要排除的任何文件,它将为您创建一个新的存储库,而不引用您的文件。当然,这意味着必须克隆一个新的工作副本 这意味着存储库的每个工作副本,因此,如果周围有大量工作副本,请准备好做大量工作

我提交了一些我后来决定不再使用的第三方工具,并再次将它们从hg中删除

我不喜欢的东西——它们仍然被保留在历史中。正常情况下,这当然是件好事,但对于这种特殊情况,这只是浪费空间


有哪些选项可以故意篡改hg存储库历史并将其删除?

如果您不介意切换到新存储库,最好使用convert扩展

您可以传递一个文件映射,该映射将排除您要排除的任何文件,它将为您创建一个新的存储库,而不引用您的文件。当然,这意味着必须克隆一个新的工作副本


这意味着存储库的每个工作副本,因此,如果周围有大量工作副本,请准备好做大量工作。

激活mercurial队列扩展,并使用“hg strip”重写历史记录。如果你有任何克隆,推送它们的更改并销毁它们,执行“hg strip”并再次克隆


如果有你无法控制的克隆人,那么所有的赌注都输掉了。我将使用“convert”扩展来重建存储库,执行“hg strip”,并替换旧的存储库。旧克隆在尝试推/拉时会出错,因为新存储库具有不同的UUID,因此用户将知道他们必须再次销毁+克隆。

使用文件映射转换是正确的答案,但我想在“如果您不介意切换到新存储库”周围画一个大红色框。mercurial中变更集的内容(除其他外)产生其哈希值,更改这些内容会更改哈希值。因此,如果编辑历史记录,您拥有的每个克隆都将无效,并且还需要切换到repo,以便能够在不加倍所有内容的情况下进行推/拉操作。Lennaert明白这一点,但我想确保你明白,因为编辑历史不是一件容易的事情——它必须在任何地方进行。已经看到的,不可能看不见。。。无论如何,谢谢。根据目前为止的答案,你的案子似乎还不够极端,不足以采取任何行动。也就是说,治疗看起来比疾病更糟糕…除非你把大量文件推到回购中…@迈克尔,我同意你的看法。治疗看起来很糟糕。期待完成一些合并,并启动新的回购协议。