【问题标题】:Mercurial equivalent of "cvs -nq update"“cvs -nq update”的 Mercurial 等价物
【发布时间】:2011-05-17 16:08:10
【问题描述】:

对于不熟悉 CVS 的人,cvs -nq update 显示类似这样的内容。

$ cvs -nq update
M file_changed_locally.c
U file_changed_remotely.c
C file_with_conflicts.c
? untracked_file.c

我知道我可以使用hg status 获取本地修改的文件,并使用hg incoming 列出尚未拉出的变更集,但是有没有办法获得像上面那样结合文件中本地和远程更改的报告等级?

可接受(但更糟糕)的替代品是显示hg pullhg update 之间的相关数据。

【问题讨论】:

  • 我什么都不知道,但如果一切都失败了,你可以写一个插件来做到这一点。它是 Python。

标签: mercurial cvs


【解决方案1】:

hg summary --remote 将概述您的 repo 与您的工作副本的父级以及传入/传出更改的默认路径。

它会显示如下内容:

parent: 14344:e1db8a00188b tip
 win32.py: more explicit definition of _STD_ERROR_HANDLE
branch: default
commit: 1 modified
update: (current)
remote: 1 or more incoming
mq:     1 unapplied

但是,它没有给出文件列表。

【讨论】:

    【解决方案2】:

    这就是我最终得到的结果:

    $ hg pull && hg status --rev .:
    

    它列出了hg update 将触及的文件。

    【讨论】:

      【解决方案3】:

      虽然没有统一的命令来执行此操作,但您可以在命令行上堆叠两个命令或使用批处理文件/shell 脚本。

      如果您可以访问 GNU 实用程序,您可以将 Tim 的回复与 hg st 叠加起来:

      > hg st; hg summary --remote

      这给了你这样的东西:

      如果您有 Windows CMD shell,您可以使用它来获得非常相似的结果:

      > hg st & hg summary --remote

      【讨论】:

        猜你喜欢
        • 2010-10-29
        • 2010-09-27
        • 2017-09-23
        • 1970-01-01
        • 2021-11-24
        • 2010-11-29
        • 2010-10-09
        • 2017-11-29
        • 1970-01-01
        相关资源
        最近更新 更多