X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/a695f4ce2259e5758e56f36727ef0e0507b58f81..09c2bec530540e51e71822a8269bb994cc144065:/lib/wlrepo/mercurial_backend/library.py diff --git a/lib/wlrepo/mercurial_backend/library.py b/lib/wlrepo/mercurial_backend/library.py index e28bd7ee..8c57f038 100644 --- a/lib/wlrepo/mercurial_backend/library.py +++ b/lib/wlrepo/mercurial_backend/library.py @@ -70,7 +70,7 @@ class MercurialLibrary(wlrepo.Library): def documents(self): - return [ key[5:] for key in \ + return [ key[5:].decode('utf-8') for key in \ self._hgrepo.branchmap() if key.startswith("$doc:") ] @property @@ -96,10 +96,16 @@ class MercurialLibrary(wlrepo.Library): return self.document_for_rev(self.fulldocid(docid, user)) def get_revision(self, revid): - revid = self._sanitize_string(revid) + revid = self._sanitize_string(revid).decode('utf-8') + + print "Looking up rev %r (%s)" %(revid, type(revid)) try: - ctx = self._changectx(revid) + # THIS IS THE MOST BRAIN-DEAD API I EVER SEEN + # WHY DO ALL THE OTHER METHODS SIMPLY + # FAIL WHEN GIVEN UNICODE, WHEN THIS WORKS ONLY!! WITH IT + + ctx = self._changectx( revid.decode('utf-8') ) except mercurial.error.RepoError, e: raise wlrepo.RevisionNotFound(revid) @@ -118,7 +124,6 @@ class MercurialLibrary(wlrepo.Library): fulldocid += u'$doc:' + docid return fulldocid - def has_revision(self, revid): try: self._hgrepo[revid]