[PATCH 1 of 4] config: don't read the same config file twice
Mads Kiilerich
mads at kiilerich.com
Thu Sep 25 10:58:21 CDT 2014
On 09/25/2014 04:48 AM, Pierre-Yves David wrote:
>
>
> On 09/24/2014 06:33 PM, Mads Kiilerich wrote:
>> # HG changeset patch
>> # User Mads Kiilerich <madski at unity3d.com>
>> # Date 1409859395 -7200
>> # Thu Sep 04 21:36:35 2014 +0200
>> # Node ID e04d746df4b9a7c5ef32b0bf70284e3dd8402791
>> # Parent fa3181323c0aa9b2d2c2f81a7d68d57bd3a7a515
>> config: don't read the same config file twice
>>
>> In some cases some config files would be read twice and shown twice in
>> showconfig --debug.
>
> Can you details how the two changes fixes this bug? I'm curious.
>
>>
>> diff --git a/mercurial/scmposix.py b/mercurial/scmposix.py
>> --- a/mercurial/scmposix.py
>> +++ b/mercurial/scmposix.py
>> @@ -21,7 +21,8 @@ def systemrcpath():
>> # old mod_python does not set sys.argv
>> if len(getattr(sys, 'argv', [])) > 0:
>> p = os.path.dirname(os.path.dirname(sys.argv[0]))
>> - path.extend(_rcfiles(os.path.join(p, root)))
>> + if p != '/':
>> + path.extend(_rcfiles(os.path.join(p, root)))
>> path.extend(_rcfiles('/' + root))
The same paths were added twice if p == '/'.
>> return path
>>
>> diff --git a/mercurial/scmwindows.py b/mercurial/scmwindows.py
>> --- a/mercurial/scmwindows.py
>> +++ b/mercurial/scmwindows.py
>> @@ -40,7 +40,7 @@ def userrcpath():
>> path = [os.path.join(home, 'mercurial.ini'),
>> os.path.join(home, '.hgrc')]
>> userprofile = os.environ.get('USERPROFILE')
>> - if userprofile:
>> + if userprofile and userprofile != home:
>> path.append(os.path.join(userprofile, 'mercurial.ini'))
>> path.append(os.path.join(userprofile, '.hgrc'))
The same paths were added twice if home == userprofile.
>> return path
/Mads
More information about the Mercurial-devel
mailing list