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