Re: [RFC PATCH] config: learn the "onbranch:" includeIf condition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Thu, 30 May 2019, Denton Liu wrote:

> Currently, if a user wishes to have individual settings per branch, they
> are required to manually keep track of the settings in their head and
> manually set the options on the command-line or change the config at
> each branch.
>
> Teach config the "onbranch:" includeIf condition so that it can
> conditionally include configuration files if the branch is checked out
> in the current worktree.

What a coincidence. I actually wished for something like this, to have
branch-specific aliases.

However, I would need this to handle patterns (via `wildmatch()`?) rather
than branch names.

> I decided to go ahead and implement the includeIf onbranch semantics for
> fun. For completeness, I'm sending it to the list but I'm not really
> sure if this should get merged, since I don't really have a use-case for
> this, especially if we go the branch-specific format-patch config route.
>
> Another thing to note is that this change doesn't completely cover all
> the use-cases that the branch-specific format-patch does. In particular,
> if I run
>
> 	$ git checkout foo
> 	$ git format-patch master..bar
>
> with the `format.bar.*`, we'd get bar-specific configs, whereas with
> `includeIf "onbranch:bar"`, we'd fail to include bar-specific configs
> and, more dangerously, we'd be including foo's configs.

I actually think that this is fine. "on branch" means that you are on the
specified branch, not that you merely mention the branch name on the
command-line (in which case there would be the ambiguity "did the user
mean `master` or `bar`?").

Ciao,
Dscho




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux