[darcs-users] rebase pull/apply vs. pull/apply --rebase

Ben Franksen ben.franksen at online.de
Mon Feb 3 22:35:29 UTC 2020


Am 02.02.20 um 19:11 schrieb Ganesh Sittampalam:
> On 28/01/2020 10:37, Ben Franksen wrote:
>> It would be quite convenient to have a --rebase option for obliterate
>> that automatically suspends all patches that depend on the one(s) you
>> want to obliterate.
> 
>> Note that this is something completely different than 'rebase
>> obliterate' which is about obliterating suspended patches. So this is a
>> point where the strict rule "everything that affects rebase must be a
>> subcommand of rebase" breaks down.
> 
> FWIW this isn't really a strict rule anyway, in the sense that any darcs
> operation can create fixups - although not currently to add or remove
> suspended patches. I certainly don't see any problem with departing from it.

Okay, good.

>> To make it crystal clear what the expected behavior is, we could name
>> the option --suspend-conflicting. Commands from group (1) would remain
>> as they are. Commands from group (2) would get a different UI:
>>
>>   rebase pull -> pull --suspend-conflicting
>>   rebase apply -> apply --suspend-conflicting
> 
> Perhaps --suspend-local? I find that clearer and it would also allow
> --suspend-remote. But I remember we have discussed some of this before,
> and I can't remember what my opinion then was :-)

AFAIR your point used to be (and is now, I guess) that it should be
somehow made clear in which repo patches are suspended. And my response
now (and, I believe back then) is that patches are /obviously/ suspended
in the repo that receives new patches (local for pull and apply, remote
for push), because that is the only place where a conflict manifests itself.

BTW, bringing 'rebase apply' and 'rebase pull' back as options to apply
and pull could also simplify the internal mechanics a bit (see
PatchApplier etc).

>> We could then add
>>
>>   push --suspend-conflicting
>>
>> (which I have been proposing some time ago) and also a new option
>> --suspend-depending to get
>>
>>   obliterate --suspend-depending
>>   unrecord --suspend-depending
>>   amend --suspend-depending
>>
>> Or we could shorten both options to just --suspend for more uniformity
>> (and less typing) but less clarity.
> 
> I think all this would be good.

Good. (I am not promising to send patches any time soon...)

Cheers
Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pEpkey.asc
Type: application/pgp-keys
Size: 4211 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/darcs-users/attachments/20200203/d00ea039/attachment.key>


More information about the darcs-users mailing list