Hi Johannes, On Fri, May 31, 2019 at 02:58:30PM +0200, Johannes Schindelin wrote: > 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. Do you mean that we should be able to match a branch by pattern? So, for example, if we had [includeIf "onbranch:mas*"] we'd match if we were on "master"? > > > 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`?"). The reason why I brought this up as a use case was because currently, when format-patch generates a cover letter, with the above, it'll use bar's branch description to populate it even if "foo" is checked out. As a result, when implementing the branch-specific format-patch stuff, I wanted to make this consistent so that we wouldn't end up in a situation where the cover letter has the branch's description but is missing its Cc's. > > Ciao, > Dscho