mercurialmercurial-extension

Full status of Mercurial local repository


It occurs quite often that I want to know the full status of my local copy of a project, compared to the remote repository. By full status, I mean the following:

I know that I can use some graphical tool such as HgView or TortoiseHg, or even my IDE to deal with Mercurial repositories, but I find it more convenient to use CLI when working with several projects/repos at the same time.

The way I am doing currently is by using an alias

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

If everything is fine (i.e. local synchronized with remote), I then ensure being on head of default by

hg update default

This approach is perfectly working, but when I work with a slow remote repository, it is quite annoying to wait for both the incoming and outgoing command to return before performing the update.

Is there some way (by the mean of an extension or a more advanced command) to get a full status summary of the local copy compare to remote repository without performing hg in and hg out sequentially?


Solution

  • I think hg summary --remote might be exactly what you're looking for:

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