在更改xyz之前,您可以使用什么mercurial命令查看变更集?hg命令在hg获取之前查看变更集
如果你做hg log -r :xyz
,你会看到所有在(包括)xyz之前的变更集 - 按升序列出。但我想轻松看到之前的变更集。
更新:真的我后是这样的:如果我做一个hg fetch
,我可以用什么命令查看变更前的那个是由拉取的变更?
hg log -r :xyz
其中xyz是由获取作品引入的第一个变更集,但它返回了我刚想要最新的变更集的整个列表。
在更改xyz之前,您可以使用什么mercurial命令查看变更集?hg命令在hg获取之前查看变更集
如果你做hg log -r :xyz
,你会看到所有在(包括)xyz之前的变更集 - 按升序列出。但我想轻松看到之前的变更集。
更新:真的我后是这样的:如果我做一个hg fetch
,我可以用什么命令查看变更前的那个是由拉取的变更?
hg log -r :xyz
其中xyz是由获取作品引入的第一个变更集,但它返回了我刚想要最新的变更集的整个列表。
你不能做到这一点。一旦你拉了(并且抓取只是拉+更新或者合并),那么你没有记录你拉什么以及你从拉取得什么。
你应该做hg incoming
然后再拉你看看你会得到什么。
另外,请停止使用fetch
。拉和更新和合并的行为是完全分开的,在单个命令中执行这些操作会提供错误报告不充分的情况,并且会使事情混淆不清。该命令在默认情况下是禁用的,并且有关于完全删除它的说法。合并是编码,它不应该被隐藏。
扩展到显示的情况下,你不能覆盖
如果抓取您的前史是这样的:
[A]-[B]-[C]
,你(对所有咨询)fetch
并获得[D]
你现在有:
[A]-[B]-[C]-[D]
而且您可以看到具体的新功能:
hg diff -r tip-1
或:
hg diff -r "parent(tip)"
但如果用A,B,C重新开始你取并获得d,E产生这样的:
[A]-[B]-[C]-[D]-[E]
没有命令就可以运行看到“什么改变了”,而没有在之前的帖子上写下[C]
。
如果,另一方面你的回购开始了寻找这样的:
[A]-[B]
\
-[C]
和打水之后你有这样的:
[A]-[B]-[D]
\
-[C]-[E]
没有单一的命令,将告诉你“有什么改变”。同样,如果拉你的回购之前是这样的:
[A]-[B]-[C]
和打水之后你有这样的:
[A]-[B]-[C]-[E]-[F]
\ /
-[D]-------/
其中[F]
是新不明智的自动合并变更取指创建,然后命令:
hg diff -r C
会告诉你什么是新的,但没有先前写下来没有办法查找'C'。
我假设xyz是散列形式的变更集。尝试:
汞柱登录-r:XYZ-1
这应该工作仅列出了变更前1
随着parentrevspec [1]安装的扩展,您可以使用混帐的语法下面。根据您的shell,引号可能不是必需的。
hg log -r 'xyz^'
只有在启用了parentrevspec扩展时才有效。 – 2011-02-03 09:05:24
似乎并没有为我工作.. – 2011-02-03 14:53:03
我不知道是什么意思之前。你的问题可能意味着你可能只想要变更集的父母。这些你可以很容易地与
hg parent -r xyz
这不需要花哨的新版本的mercurial。
汞父母[-r REV] [文件]
显示工作目录或修订
打印工作目录的父目录修订的父母。如果通过 -r/- rev给出修订,则打印该修订的父级。如果给出文件参数 ,则打印上次更改文件的修订版(在 工作目录修订版之前或者给定了--rev参数(如果给出))。
选项:
-r --rev show parents of the specified revision
--style display using template map file
--template display with template
--mq operate on patch repository
变更集不是散列形式 - 这是数字ID – 2011-02-03 14:52:22
它可以同时使用数字ID或散列形式。 – cbz 2011-02-03 17:36:09