【问题标题】:Full status of Mercurial local repositoryMercurial 本地存储库的完整状态
【发布时间】:2016-05-02 20:11:33
【问题描述】:

与远程存储库相比,我经常想知道我的项目本地副本的完整状态。完整状态是指以下内容:

  • 本地是否有一些未提交的更改?
  • 本地是否有一些未推送的提交?
  • 是否有一些远程未拉取的提交?
  • 我是默认分支的负责人吗?

我知道我可以使用诸如 HgView 或 TortoiseHg 之类的图形工具,甚至我的 IDE 来处理 Mercurial 存储库,但我发现在同时处理多个项目/存储库时使用 CLI 更方便。

我目前的做法是使用别名

alias hg_full='hg incoming; hg outgoing; hg status'

如果一切正常(即本地与远程同步),我会确保在默认情况下处于领先地位

hg update default

这种方法非常有效,但是当我使用速度较慢的远程存储库时,在执行更新之前等待传入和传出命令都返回非常烦人。

与远程存储库相比,是否有某种方式(通过扩展或更高级的命令)获得本地副本的完整状态摘要,而不按顺序执行hg inhg out

【问题讨论】:

    标签: mercurial mercurial-extension


    【解决方案1】:

    我认为hg summary --remote 可能正是您想要的:

    $ hg summary --remote
    parent: 1:c15d3f90697a tip
     commit message here
    branch: default
    commit: 1 modified
    update: (current)
    remote: 1 or more incoming, 1 outgoing
    

    【讨论】:

      【解决方案2】:

      您可以通过执行hg incoming --bundle <filename> 为自己节省一些网络流量,这会获取传入的变更集并将它们存储在捆绑文件中。然后,您可以针对根本不使用网络的捆绑文件运行hg outgoing(或hg pull)。

      hg incoming --bundle incoming.bundle   # Creates the bundle
      hg outgoing incoming.bundle
      
      hg pull incoming.bundle
      hg update default
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-14
        • 2020-07-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多