[PATCH 2 of 2 evolve-ext V2] evolve: replace each obsolete sha1 in the description with its latest successor

Matt Harbison matt_harbison at yahoo.com
Tue Sep 2 20:53:34 CDT 2014


Pierre-Yves David wrote:
>
>
> On 08/12/2014 03:10 AM, Matt Harbison wrote:
>> # HG changeset patch
>> # User Matt Harbison <matt_harbison at yahoo.com>
>> # Date 1407625936 14400
>> # Sat Aug 09 19:12:16 2014 -0400
>> # Node ID 063f218581a39f91f0f7b89192a80c6d0c9f9eae
>> # Parent 66f4c5c52d970f145cd218ceed065c3fe096631d
>> evolve: replace each obsolete sha1 in the description with its latest
>> successor
>>
>> Obsolete csets are hidden by default and don't get pushed to the
>> parent repo.
>> In order to avoid broken references in commit messages, it makes sense
>> to evolve
>> those references to the latest and greatest successor, as each cset
>> containing
>> them is evolved. Of course, stale references can still occur if a
>> commit in
>> branch 'A' references something in branch 'B', and that something in
>> 'B' is
>> evolved but 'A' isn't subsequently evolved.
>
> I really like the idea. Other command like rebase and histedit should
> probably gains such ability too.
>
> Patches applied.
>

I've long thought it would be a good idea for rebase, but then I thought 
maybe it doesn't matter much anymore with evolve making progress.  I 
also wasn't sure how to go about it given that the source csets go away. 
Any thoughts on where to look?  (I've got 0 experience with histedit, so 
I would definitely need pointers on that unless someone else wants to 
run with it.)

--Matt


More information about the Mercurial-devel mailing list