X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/3193141f55df20910cf8ba35f9e669d79c90d3f4..dd0510d0730e259a57e01b63b8b34a24b7cfdd4a:/lib/wlrepo/mercurial_backend/library.py?ds=sidebyside diff --git a/lib/wlrepo/mercurial_backend/library.py b/lib/wlrepo/mercurial_backend/library.py old mode 100644 new mode 100755 index 84e76540..5e9b06ec --- a/lib/wlrepo/mercurial_backend/library.py +++ b/lib/wlrepo/mercurial_backend/library.py @@ -13,7 +13,7 @@ from mercurial import ui as hgui from mercurial import error import wlrepo -from wlrepo.mercurial_backend import MercurialRevision +from wlrepo.mercurial_backend.revision import MercurialRevision from wlrepo.mercurial_backend.document import MercurialDocument class MergeStatus(object): @@ -80,7 +80,7 @@ class MercurialLibrary(wlrepo.Library): def ospath(self): return self._ospath.decode('utf-8') - def document_for_rev(self, revision): + def document_for_revision(self, revision): if revision is None: raise ValueError("Revision can't be None.") @@ -99,14 +99,14 @@ class MercurialLibrary(wlrepo.Library): rev = self._sanitize_string(rev) if rev != u'latest': - doc = self.document_for_rev(rev) + doc = self.document_for_revision(rev) if doc.id != docid or (doc.owner != user): raise wlrepo.RevisionMismatch(self.fulldocid(docid, user)+u'@'+unicode(rev)) return doc else: - return self.document_for_rev(self.fulldocid(docid, user)) + return self.document_for_revision(self.fulldocid(docid, user)) def get_revision(self, revid): revid = self._sanitize_string(revid) @@ -121,9 +121,12 @@ class MercurialLibrary(wlrepo.Library): if ctx is None: raise wlrepo.RevisionNotFound(revid) + return self._revision(ctx) + + def _revision(self, ctx): if self._revcache.has_key(ctx): return self._revcache[ctx] - + return MercurialRevision(self, ctx) def fulldocid(self, docid, user=None): @@ -134,14 +137,15 @@ class MercurialLibrary(wlrepo.Library): return fulldocid def has_revision(self, revid): + revid = self._sanitize_string(revid) + try: self._hgrepo[revid] return True except mercurial.error.RepoError: return False - def document_create(self, docid): - + def document_create(self, docid): # check if it already exists fullid = self.fulldocid(docid) @@ -151,7 +155,7 @@ class MercurialLibrary(wlrepo.Library): # doesn't exist self._create_branch(self._sanitize_string(fullid)) - return self.document_for_rev(fullid) + return self.document_for_revision(fullid) # # Private methods