##// END OF EJS Templates
py3: make osenvironb a proxy for, instead of a copy of os.environ where needed...
py3: make osenvironb a proxy for, instead of a copy of os.environ where needed Without this, TESTDIR and a few other variables weren't defined in the *.t test. I didn't bother implementing all of the view functions for simplicity. All that is actually used is __{get,set}item__(), get() and pop(), but the rest seems easy enough to add for futureproofing.

File last commit:

r36490:d0d5eef5 default
r39750:491fc3f4 default
Show More
narrowcopies.py
34 lines | 1.1 KiB | text/x-python | PythonLexer
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 # narrowcopies.py - extensions to mercurial copies module to support narrow
# clones
#
# Copyright 2017 Google, Inc.
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
from __future__ import absolute_import
from mercurial import (
copies,
extensions,
)
def setup(repo):
def _computeforwardmissing(orig, a, b, match=None):
missing = orig(a, b, match)
Martin von Zweigbergk
narrow: drop safehasattr() checks for always-present repo.narrowmatch...
r36490 narrowmatch = repo.narrowmatch()
if narrowmatch.always():
return missing
missing = [f for f in missing if narrowmatch(f)]
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 return missing
def _checkcopies(orig, srcctx, dstctx, f, base, tca, remotebase, limit,
data):
Martin von Zweigbergk
narrow: drop safehasattr() checks for always-present repo.narrowmatch...
r36490 narrowmatch = repo.narrowmatch()
if not narrowmatch(f):
return
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 orig(srcctx, dstctx, f, base, tca, remotebase, limit, data)
extensions.wrapfunction(copies, '_computeforwardmissing',
_computeforwardmissing)
extensions.wrapfunction(copies, '_checkcopies', _checkcopies)