mercurial/scmposix.py
author Gregory Szorc <gregory.szorc@gmail.com>
Sat, 16 Aug 2014 10:19:26 -0700
changeset 22247 8341c677c204
parent 18690 4c6f7f0dadab
child 22583 23c995ed466b
permissions -rw-r--r--
test-ssh: verify that stderr from remote is printed (issue4336) The issue fixed in the previous patch was uncovered by implementing an extension that printed additional output locally before the push command completed. This test emulates that. If this change is applied before the previous patch, the test will fail on Linux, with the local output being printed before the "remote: " lines.

import sys, os
import osutil

def _rcfiles(path):
    rcs = [os.path.join(path, 'hgrc')]
    rcdir = os.path.join(path, 'hgrc.d')
    try:
        rcs.extend([os.path.join(rcdir, f)
                    for f, kind in osutil.listdir(rcdir)
                    if f.endswith(".rc")])
    except OSError:
        pass
    return rcs

def systemrcpath():
    path = []
    if sys.platform == 'plan9':
        root = 'lib/mercurial'
    else:
        root = 'etc/mercurial'
    # 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)))
    path.extend(_rcfiles('/' + root))
    return path

def userrcpath():
    if sys.platform == 'plan9':
        return [os.environ['home'] + '/lib/hgrc']
    else:
        return [os.path.expanduser('~/.hgrc')]