gpt4 book ai didi

version-control - 为什么 'hg mv' (mercurial) 默认情况下不移动文件的历史记录?

转载 作者:行者123 更新时间:2023-12-03 07:25:39 24 4
gpt4 key购买 nike

我知道how to do it ,我只是不明白为什么 hg mv 默认情况下也不移动文件的历史记录。

强制我在 hg mv 之前运行 hg log --follow 看起来确实很愚蠢。这让我想起了使用 cvs 的时候,您需要使用两种不同的操作来删除和添加文件,并以相同的方式丢失历史记录。

恕我直言,如果我只是使用内置 mv,那么丢失历史记录是可以的,但我使用的是 hg mv,并且考虑到存储库本身,这样做是没有意义的默认情况下会丢失历史记录。应该是 hg mv --no-follow 而不是相反。

这并不直观。这里有人对这种行为有合理的解释吗?这是设计上的错误,还是确实有充分的理由?使用 hg mv 时是否可以默认执行此 --follow 操作?

最佳答案

您可以更改日志的默认行为:在 ~/.hgrc(或某处/Mercurial.ini)中,添加

[alias] 
log = log -f

我已阅读日志的外观是出于速度原因。移动并不是 Mercurial 中真正的“第一级”操作。它是复制+删除(与 Bazaar 相比,Bazaar 中的移动/重命名是“第一级”操作,但没有保留历史记录的副本)。

关于version-control - 为什么 'hg mv' (mercurial) 默认情况下不移动文件的历史记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5264528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com