changeset 34:15882341bf0f

Use repo.vfs (hg 4.2)
author mr
date Tue, 06 Mar 2018 09:19:19 -0800
parents fa743d5b8698
children 70730f6d01a8
files trees.py
diffstat 1 files changed, 18 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/trees.py	Tue Mar 06 09:18:50 2018 -0800
+++ b/trees.py	Tue Mar 06 09:19:19 2018 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -360,8 +360,15 @@
             f.close()
         return None
 
+# hg >= 4.2: Use repo.vfs.join instead of repo.join
+def _repo_join(repo, path):
+    if (hasattr(repo, 'vfs')):
+        return repo.vfs.join(path)
+    else:
+        return repo.join(path)
+
 def _writeconfig(repo, namespace, subtrees, append = False):
-    confpath = repo.join(namespace or 'trees')
+    confpath = _repo_join(repo, namespace or 'trees')
     if subtrees:
         newconfig = '\n'.join(subtrees) + '\n'
         if append or newconfig != _readfile(confpath):
@@ -1038,13 +1045,20 @@
     commands.norepo += ' tclone tversion tdebugkeys'
     commands.optionalrepo += ' tconfig'
 
+# hg >= 4.2: Use repo.vfs instead of repo.opener
+def _repo_opener(repo, ns):
+    if (hasattr(repo, 'vfs')):
+        return repo.vfs(ns)
+    else:
+        return repo.opener(ns)
+
 def genlistkeys(namespace):
     def _listkeys(repo):
         # trees are ordered, so the keys are the non-negative integers.
         d = {}
         i = 0
         try:
-            for line in repo.opener(namespace):
+            for line in _repo_opener(repo, namespace):
                 d[("%d" % i)] = line.rstrip('\n\r')
                 i += 1
             return d
@@ -1066,7 +1080,7 @@
             d = {}
             i = 0
             try:
-                for line in self.opener(namespace):
+                for line in _repo_opener(self, namespace):
                     d[("%d" % i)] = line.rstrip('\n\r')
                     i += 1
                 return d