commit: don't change phases for preexisting commits...
commit: don't change phases for preexisting commits
I noticed when pulling with hg-git in a repository that already had
the changes, but pulled from another Mercurial repository. This meant
that hg-git would re-create exact matches of the changesets, and
if they were public, they'd get reverted to drafts.
This change fixes that behaviour by avoiding phase changes when:
- the result isn't tip
- the result wasn't hidden
The latter check addresses some issues with the shelve test. To help
identify this issue, I added a message that reports to the user that a
commit didn't change anything, should they actually trigger this.
Differential Revision:
https://phab.mercurial-scm.org/D9253