##// END OF EJS Templates
changelog: lazy decode description (API)...
changelog: lazy decode description (API) Currently, changelog reading decodes read values. This is wasteful because a lot of times consumers aren't interested in some of these values. This patch changes description decoding to occur in changectx as needed. revsets reading changelog entries appear to speed up slightly: revset #7: author(lmoscovicz) plain 0) 0.906329 1) 0.872653 revset #8: author(mpm) plain 0) 0.903478 1) 0.878037 revset #9: author(lmoscovicz) or author(mpm) plain 0) 1.817855 1) 1.778680 revset #10: author(mpm) or author(lmoscovicz) plain 0) 1.837052 1) 1.764568

File last commit:

r27483:39087ee8 default
r28306:1778770e default
Show More
scmposix.py
39 lines | 965 B | text/x-python | PythonLexer
from __future__ import absolute_import
import os
import sys
from . 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]))
if p != '/':
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')]