--- a/mercurial/dirstate.py Mon Feb 20 01:54:07 2017 -0800
+++ b/mercurial/dirstate.py Tue Feb 21 01:20:59 2017 +0900
@@ -23,6 +23,7 @@
pathutil,
pycompat,
scmutil,
+ txnutil,
util,
)
@@ -59,22 +60,6 @@
return set(fname for fname, e in dmap.iteritems()
if e[0] != 'n' or e[3] == -1)
-def _trypending(root, vfs, filename):
- '''Open file to be read according to HG_PENDING environment variable
-
- This opens '.pending' of specified 'filename' only when HG_PENDING
- is equal to 'root'.
-
- This returns '(fp, is_pending_opened)' tuple.
- '''
- if root == encoding.environ.get('HG_PENDING'):
- try:
- return (vfs('%s.pending' % filename), True)
- except IOError as inst:
- if inst.errno != errno.ENOENT:
- raise
- return (vfs(filename), False)
-
class dirstate(object):
def __init__(self, opener, ui, root, validate):
@@ -385,7 +370,7 @@
raise
def _opendirstatefile(self):
- fp, mode = _trypending(self._root, self._opener, self._filename)
+ fp, mode = txnutil.trypending(self._root, self._opener, self._filename)
if self._pendingmode is not None and self._pendingmode != mode:
fp.close()
raise error.Abort(_('working directory state may be '