diff mercurial/bundlerepo.py @ 7435:5e13df32fb74

bundlerepo doesn't really have a dirstate, throw AttributeError if requested
author Dirkjan Ochtman <dirkjan@ochtman.nl>
date Thu, 27 Nov 2008 16:07:17 +0100
parents 63b5f4c73c98
children 08cabecfa8a8
line wrap: on
line diff
--- a/mercurial/bundlerepo.py	Thu Nov 27 16:07:13 2008 +0100
+++ b/mercurial/bundlerepo.py	Thu Nov 27 16:07:17 2008 +0100
@@ -13,7 +13,7 @@
 from node import hex, nullid, short
 from i18n import _
 import changegroup, util, os, struct, bz2, zlib, tempfile, shutil, mdiff
-import repo, localrepo, changelog, manifest, filelog, revlog
+import repo, localrepo, changelog, manifest, filelog, revlog, context
 
 class bundlerevlog(revlog.revlog):
     def __init__(self, opener, indexfile, bundlefile,
@@ -213,19 +213,20 @@
             self.changelog = bundlechangelog(self.sopener, self.bundlefile)
             self.manstart = self.bundlefile.tell()
             return self.changelog
-        if name == 'manifest':
+        elif name == 'manifest':
             self.bundlefile.seek(self.manstart)
             self.manifest = bundlemanifest(self.sopener, self.bundlefile,
                                            self.changelog.rev)
             self.filestart = self.bundlefile.tell()
             return self.manifest
-        if name == 'manstart':
+        elif name == 'manstart':
             self.changelog
             return self.manstart
-        if name == 'filestart':
+        elif name == 'filestart':
             self.manifest
             return self.filestart
-        return localrepo.localrepository.__getattr__(self, name)
+        else:
+            raise AttributeError(name)
 
     def url(self):
         return self._url
@@ -267,6 +268,9 @@
     def cancopy(self):
         return False
 
+    def getcwd(self):
+        return os.getcwd() # always outside the repo
+
 def instance(ui, path, create):
     if create:
         raise util.Abort(_('cannot create new bundle repository'))