X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/3193141f55df20910cf8ba35f9e669d79c90d3f4..aeb0dad220c5e4da9ddd5e8df9f6b0dc554f513f:/lib/wlrepo/mercurial_backend/library.py

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