use*_*740 4 mercurial garbage-collection
Hg 有一个新的Changeset Evolution功能和相关的 Evolve 扩展。
这非常酷,因为现在许多“重写”操作都移到了 DAG(如 Git)中——不再需要使用 MQ 或搁置进行补丁/线性化!它还避免了以前需要修改、rebase、histedit 等所需的痛苦缓慢的大型存储库单个条带。
然而,经过一段时间和许多本地重写后,可能会积累“大量”的变更集,这些变更集被隐藏/标记为过时。
正是那个时候,并且有许多变更集,最好再拥有(根本):
Git 中的“可比较”操作将是修剪孤立提交的 GC。
我不想重新克隆存储库。此外,隐藏的提交(谢天谢地)没有被推送/发布。
安全地摆脱过时的变更集(好吧,尽可能安全hg strip)的一种简单方法是使用extinct()revset,即:
hg strip --hidden -r 'extinct()'
Run Code Online (Sandbox Code Playgroud)
灭绝的变更集是那些已经过时的并且只有过时的后代(即没有仍然依赖于它们的实时变更集)。
请注意,除非磁盘空间变得稀缺,否则不需要删除这些变更集。
| 归档时间: |
|
| 查看次数: |
1112 次 |
| 最近记录: |