mercurial/dirstate.py
changeset 31070 206532700213
parent 30639 ad15646dc61c
child 31216 49e5491ed9bd
--- 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 '