是否有命令列出上次更新期间更改的所有文件?
hg status --change tip
只给我最后一个变更集的文件。
我可以使用
hg status --rev FROM --rev TO
但后来我必须存储更新前的转速。
是否有命令列出上次更新期间更改的所有文件?
hg status --change tip
只给我最后一个变更集的文件。
我可以使用
hg status --rev FROM --rev TO
但后来我必须存储更新前的转速。
您可以通过执行状态并传入当前和修订来计算出在执行之前会发生什么变化: .hg update
tip
hg status --rev . --rev tip
正如蒂姆·德莱尼(Tim Delaney)所说,这将向您显示执行更新时会更改哪些文件,但在更新后不会有任何影响。我假设您想知道在拉动后进行更新时发生了什么变化?在这种情况下,最好在进行更新之前知道会发生什么变化。
Mercurial 不会记录您运行的频率hg update
,因此它无法告诉您上次更新触及了哪些文件。但是,它也不会影响受影响文件的修改时间,因此您可以查看它们的时间戳以了解发生了什么变化。要找出在过去五分钟内修改了哪些文件,请使用
find . -mmin -5 -print
另一种方法是记录 mercurial将更新的内容,正如@icabod 建议的那样。
不会。一旦执行更新,Mercurial 不会存储有关工作目录先前状态的任何信息。在更新期间,它可能会存储一些状态以帮助在更新中断后恢复,但对您的用例没有任何用处。
如果在执行“hg update”之后,您想了解更新期间发生了什么变化,您可以试试这个:
首先,使用“hg log -l nn”获取作为最新更新一部分的修订列表。
接下来,使用“hg diff -r nn”显示自更新前修订以来的所有差异。
而且,如果您只想要更改文件的摘要,请使用“hg diff --stat -r nn”。