[darcs-users] RFC: Hiijacking Patches

James Cook jcook at cs.berkeley.edu
Fri Sep 25 14:42:08 UTC 2020


On Fri, 25 Sep 2020 at 10:48, Ben Franksen <ben.franksen at online.de> wrote:
> Hi Everyone
>
> I am thinking about changing the behavior and/or available options for
> hijacking patches.
>
> Context: When working from home I have two identities in my
> ~/.darcs/author file: one with my work email address and one with my
> private email address. I want to decide which one to use per repo, once.
> This works fine with the record command: darcs remembers the chosen
> identity in _darcs/prefs/author and does not ask me again (for this
> repo). But it does not work this way with amend or rebase i.e. when
> (potentially) hijacking patches.
>
> As I see it, there are basically three options that make sense:
>
> (a) keep the original author
> (b) change the author as specified via command line
> (c) behave similar to 'darcs record':
>     * change the author to the default author
>       (either _darcs/prefs/author or else ~/.darcs/author)
>     * if there is no default author, prompt the user to specify one
>     * if there are multiple authors, prompt the user to select one
>     * in each case, remember the choice in the repo
>
> Currently (a) is the default behavior and (b) can be chosen by passing
> --author <author>. (c) is not implemented; instead we have
> --select-author which does not remember the choice and does not check if
> we have already made a choice (for this repo). IMO this is not very
> useful. I guess it is quite uncommon that a user wants to edit a patch
> with an author that is different from both the original author and her
> chosen default identity for the project; in this uncommon case it would
> be okay to require the user to specify the identity explicitly using
> --author.
>
> Thus, I propose we change --select-author in such a way that it behaves
> as option (c) above.
>
> This change is not 100% compatible, so I'd like to have feedback on
> whether you think this would hurt.
>
> A more disruptive but ultimately more consistent alternative would be to
> make option (c) the default behavior, and require an explicit command
> line switch --keep-author to get behavior (a), similar to the existing
> --keep-date option. The --select-author option could then be used to
> override a previous --author or --keep-author in case a user has set one
> of these options in their ~/.darcs/defaults.

Is hijacking patches a common operation for anyone? The least
surprising behaviour would be to always ask the user what to do if
they haven't explicitly chosen an option on the command line; I'd
certainly prefer that. But I've never needed to hijack a patch, so
take my opinion with a grain of salt.

James


More information about the darcs-users mailing list