from os.path import realpath
from functools import partial
-from bup import client, git
+from bup import client, git, vfs
_next_repo_id = 0
(e.g. refs, tags, etc.)."""
return self._id
+ def is_remote(self):
+ return False
+
def cat(self, ref):
"""If ref does not exist, yield (None, None, None). Otherwise yield
(oidx, type, size), and then all of the data associated with
repo_dir=self.repo_dir):
yield ref
+ ## Of course, the vfs better not call this...
+ def resolve(self, path, parent=None, want_meta=True, follow=True):
+ ## FIXME: mode_only=?
+ return vfs.resolve(self, path,
+ parent=parent, want_meta=want_meta, follow=follow)
+
+
class RemoteRepo:
def __init__(self, address):
self.address = address
(e.g. refs, tags, etc.)."""
return self._id
+ def is_remote(self):
+ return True
+
def cat(self, ref):
"""If ref does not exist, yield (None, None, None). Otherwise yield
(oidx, type, size), and then all of the data associated with
limit_to_heads=limit_to_heads,
limit_to_tags=limit_to_tags):
yield ref
+
+ def resolve(self, path, parent=None, want_meta=True, follow=True):
+ ## FIXME: mode_only=?
+ return self.client.resolve(path, parent=parent, want_meta=want_meta,
+ follow=follow)