[PATCH v2] rebase: add potential divergent commit hashes to error message (issue5086)

Sean Farley sean at farley.io
Tue Feb 23 00:36:14 EST 2016


Augie Fackler <raf at durin42.com> writes:

>> On Feb 22, 2016, at 8:19 PM, Sean Farley <sean at farley.io> wrote:
>> 
>>> I know that, but the error output is still useless to me, as it offers no suggestions on how I might avoid the divergence or why it’s bad.
>> 
>> I definitely think it's an improvement over the current error output:
>> "abort: this rebase will cause divergence”.
>
> So, it tells me the changeset I’m about to rebase that would be divergent, but it doesn’t empower me to figure out what it would be divergent against.
>
> Not me feigning ignorance: I don’t know how I’d figure out what the other changeset that would be part of the potential future divergence would be.
>
>> 
>>> (Note: **I** know why divergence is bad, but I don’t actually know what I’m doing wrong that would result in divergence. The above sentence is partially me pretending to be a novice user of rebase.)
>> 
>> For the user that knows about divergence, then they can investigate the
>> precursor / other divergent head with the given hash (bikeshedding on
>> short hash).
>
> See above - this change adds information which is not helpful, even at my level of familiarity with Mercurial. That’s why I said it’s not an improvement. :/

Ok, I now understand what you mean. Yes, I agree that this a movement
sideways and not forward. For starters, we need to use the same
nomenclature throughout Mercurial:

abort: this rebase will cause divergences with precursor(s): XYZ

Following up with what Augie said, could we give a hint? Something like,

use the revset 'successors(XYZ)'. Random thought, with the new graph log
proposals, could we have an easy command for the ascii graph of:

hg obsgraph xyz...asdf

(yes, I realize this will be bikeshedding)


More information about the Mercurial-devel mailing list