1

我在默认分支上。

然后我用hg pull -u

然后我得到这个

searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 1 files
1 files updated, 0 files merged, 0 files removed, 0 files unresolved

现在我想知道更新了哪些文件以及该文件中更新了哪些内容

4

2 回答 2

7

这就是为什么最好使用hg pullnot的原因hg pull -u。如果您使用首选hg pull您的会话将如下所示:

$ hg pull
searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 1 files

$ hg diff default  # this shows you exactly what you want to see

$ hg update
1 files updated, 0 files merged, 0 files removed, 0 files unresolved

关键是如果你拉(新的变更集到你的存储库)但不更新你的工作目录中的文件,那么你可以hg diff default比较你当前工作目录的文件(也就是你在拉之前的文件)和新的头拉后默认。如果您喜欢这些更改,那么您可以使用hg update.

也就是说,在这种特定情况下,因为您知道您有 3 个变更集,并且由于它们可能是线性的,您可以这样做:

hg diff --rev -4

这表示将我当前的修订版(现在是您更新后的头)与修订版 3(-1 是最后一个)进行比较。但是改掉这个-u习惯。更新存储库和工作目录是完全不同的操作,最好分开完成。

于 2013-10-24T03:52:11.633 回答
2

hg incoming将让您检查执行时将要提取的新变更集hg pull(有或没有更新选项)。我通常通过 TortoiseHG 执行此操作,它可以让我在实际将更改引入本地存储库之前检查会发生什么,更不用说更新到该更改集了。

于 2013-10-24T13:47:57.000 回答