hgext3rd/evolve/compat.py
changeset 3408 f4ea9652661d
parent 3298 f4b06f44d274
child 3483 f03845bfd015
--- a/hgext3rd/evolve/compat.py	Tue Jan 16 01:11:47 2018 +0100
+++ b/hgext3rd/evolve/compat.py	Tue Jan 16 02:21:44 2018 +0100
@@ -15,6 +15,13 @@
     util,
 )
 
+# hg < 4.2 compat
+try:
+    from mercurial import vfs as vfsmod
+    vfsmod.vfs
+except ImportError:
+    from mercurial import scmutil as vfsmod
+
 try:
     from mercurial import obsutil
     obsutil.closestpredecessors
@@ -212,3 +219,10 @@
                                   isexec='x' in flags,
                                   copied=copied.get(path))
     return mctx
+
+def getcachevfs(repo):
+    cachevfs = getattr(repo, 'cachevfs', None)
+    if cachevfs is None:
+        cachevfs = vfsmod.vfs(repo.vfs.join('cache'))
+        cachevfs.createmode = repo.store.createmode
+    return cachevfs