rebase usability

anatoly techtonik techtonik at gmail.com
Fri Nov 28 22:52:02 UTC 2014


On Tue, Nov 25, 2014 at 11:45 PM, Pierre-Yves David
<pierre-yves.david at ens-lyon.org> wrote:
> On 11/24/2014 10:50 PM, Ben Schmidt wrote:
>>
>> On 25/11/14 2:33 AM, anatoly techtonik wrote:
>>>
>>> I realize that I removed these lines, but I don't get where and why
>>> there is conflict? Somebody added them or what? How to see the exact
>>> changes that cause the conflict from each side?
>>>
>>> I'd like to see at clashing edits or at least revisions that are
>>> clashing, but there is no such info. It is also quite hard to
>>> understand what is dest and source - a more detailed explanation
>>> `<<<<< common lines changed in destination revision XXX`, `>>>>>
>>> common lines changed in revision YYY that is being rebased` would be
>>> better.
>
>
> You should have a look at the `ui.mergemarkers` option (set it to detailed)

Thanks for the hint. Set those for the future conflicts.

> IF you use rebase a lot I recommand using three way markers (or a graphical
> tool).

I tried graphical tools several ways and gave up. They all lack
revision tree with an indication of conflicting revisions between
branches. I'd prefer working on revision vs revision level that on big
diffs with changes.

>>> Right now I don't see other way than to cloning repo once more, switch
>>> to dest branch, and run `hg blame` to see where these lines were
>>> changes. Feel very ugly to me. Is there a better way?
>>
>> You definitely don't need to clone the repo again.
>
> +1 for "no need to re-clone" just run your command in the existing one.

And how to run blame on a file from a HEAD of a different branch
without re-cloning and switching?

>> - Rebasing works one changeset at a time in order, and you can see them
>>    in the repository; so look at the tip changeset and identify the
>>    original un-rebased changeset a little 'lower' in the repo; the
>>    changeset after that is the one currently being rebased
>
>
> I do not get this?

I tried to explain in my own words, but seems that I failed. I believe
the concept is called "incremental merge".

>> - You can use hg cat or hg blame or hg diff with an -r argument (or two,
>>    or a -c argument in the case of diff) to get info about the changesets
>>    involved.
>>
>> Hope this helps at least a little!

But I still need to know what to pass to -r argument.



More information about the Mercurial mailing list