4925: Use mercurial phases to determine pending changes

p-pautov

What version are you running?

RBTools 1.0.2

Describe the enhancement and the motivation for it.

Currently, 'rbt post' invokes 'hg outgoing' command to determine the changes to be posted for review. That command requires network connectivity with the original hg repository, which can be absent, slow or require additional authentication.

At the same time, Mercurial phases provide a local mechanism of detecting whether commit was pushed into original repo or not. Here is an example command which lists all non-public commits in the current branch (without any network communication):
hg log -r '(draft() or secret()) and ::.'

So the ask is to use commit phases as an alternative to 'hg outgoing' during 'rbt post'.

Please provide any additional information below.

https://www.mercurial-scm.org/wiki/Phases