[PATCH evolve_ext V2] fold: take an explicit list of revisions (BC)

Pierre-Yves David pierre-yves.david at ens-lyon.org
Thu Jun 26 16:22:01 CDT 2014



On 06/24/2014 07:57 PM, Augie Fackler wrote:
> On Mon, Jun 23, 2014 at 09:02:14PM -0400, Greg Ward wrote:
>> On 23 June 2014, Pierre-Yves David said:
>>> On 06/22/2014 04:52 PM, Greg Ward wrote:
>>>> # HG changeset patch
>>>> # User Greg Ward <greg at gerg.ca>
>>>> # Date 1403481137 14400
>>>> #      Sun Jun 22 19:52:17 2014 -0400
>>>> # Node ID 4ab7a80fc11f275c03d4ddb94936a0688b71e6bc
>>>> # Parent  2fbba0bf7e7c8cbff1f94bc95c4d6214df85ef81
>>>> fold: take an explicit list of revisions (BC)
>>>
>>> No thanks.
>>
>> Darn. I guess I misunderstood our previous discussion about this.
>>
>>> This use the be the default and ended up being very confusing. The
>>> vast majority of fold operation involve the working directory and an
>>> ancestors (something a descendant). The default should reflect that.
>>> Also, we should not requires user to have a PhD in revset to use Mercurial.
>>
>> "REV::" is not a PhD-level revset.
>>
>>> So, I'm deeply convince the default should be "fold between . and REV".
>>
>> OK, fine. I happen to disagree, but whatever.
>
> I agree with Greg here - the magic default of 'hg fold $REV' -> fold
> together $REV::. feels a little spooky. This feels like the right case
> for an alias to me.
>
> (It's been stated by many that histedits behavior in this area is
> confusing, and with the benefit of hindsight and the existence of
> evolution I'm starting to come around on that point.)

Do you mean the fact that histedit will work on "REV::."?

I see this as a bit different.

First, now that we use "REV::." instead of "heads(REV)::." the behavior 
is much less disturbing.

Second, I feel like the current behavior is not too bad. In most case 
people want to rewrite the history they are based on, so having that by 
default sounds sensible. What histedit currently lack is a --exact flag 
  (kind of like rebase have a --rev).

Third, histedit is an advanced command for advance users. Such people 
have already a deeper understanding of DVCS graph, more confidence in 
doing graph change unrelated to working directory parent and have less 
trouble with revset.
The `hg fold` command is target at basic users too.


(I had a fourth but I got interrupted and lost it)

-- 
Pierre-Yves David


More information about the Mercurial-devel mailing list