Re: git-send-email does not use conditional configuration

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

 



On 9/11/19 4:08 PM, Jeff King wrote:
On Wed, Sep 11, 2019 at 08:14:45AM +0200, Konstantinos Dalamagkidis wrote:

In my git configuration, I have an includeif section for work
related repositories that configures the user and sendemail
sections.

What kind of includeIf are you using? Does it work with an
unconditional include? This seems to work for me:

   $ git config --global include.path one
   $ git config --file ~/one sendemail.smtpserver one.example.com
   $ git send-email --dry-run -1 --to nobody | grep ^Server
   Server: one.example.com

   $ git config --global includeIf.gitdir:$PWD/.path two
   $ git config --file ~/two sendemail.smtpserver two.example.com
   $ git send-email --dry-run -1 --to nobody | grep ^Server
   Server: two.example.com

I.e. both unconditional and gitdir includes work for me. If you do
something similar, what output do you get?

I am using "includeIf.gitdir:/work". I tried to reproduce it at my home workstation where I have the exact same configuration, but in the beginning I couldn't. Then I realized, that at work the /work folder is actually a symlink to a different directory. When I did the same at home, I could reproduce the issue:

% pwd
/work/repo
% git send-email --dry-run -1 --to nobody | grep ^From
From: Konstantinos Dalamagkidis <work-email@xxxxxxxxxxx>
% cd ../repo-symlink
% git send-email --dry-run -1 --to nobody | grep ^From
From: Konstantinos Dalamagkidis <personal-email@xxxxxxxxxxx>
% realpath .
/home/dalamagkidis/tmp/repo

It appears that git-config and git-send-email parse the gitdir slightly differently when it comes to symlinks. More specifically git-send-email uses the realpath of the repository to determine which configuration to use. It also explains why nobody came across this problem before.


Rgds
Konstantinos



[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