Rev 74: Implement Repository.all_revision_ids(). in http://people.samba.org/bzr/jelmer/bzr-git/trunk

Jelmer Vernooij jelmer at samba.org
Sat Jul 26 17:27:47 BST 2008


At http://people.samba.org/bzr/jelmer/bzr-git/trunk

------------------------------------------------------------
revno: 74
revision-id: jelmer at samba.org-20080726160846-ro1y9x7zpy2wrxkl
parent: jelmer at samba.org-20080726155510-234fnst5r3q9h2tk
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Sat 2008-07-26 18:08:46 +0200
message:
  Implement Repository.all_revision_ids().
modified:
  git_repository.py              git_repository.py-20071108234408-ygidvy5hviixghsd-2
=== modified file 'git_repository.py'
--- a/git_repository.py	2008-07-26 15:50:48 +0000
+++ b/git_repository.py	2008-07-26 16:08:46 +0000
@@ -64,7 +64,7 @@
         self._init_cachedb()
         self.texts = None
         self.signatures = versionedfile.VirtualSignatureTexts(self)
-        self.revisions = None
+        self.revisions = versionedfile.VirtualRevisionTexts(self)
         self._format = GitFormat()
         self._fallback_repositories = []
 
@@ -85,6 +85,19 @@
         """)
         self.cachedb.commit()
 
+    def _all_revision_ids(self):
+        if self._git.heads == []:
+            return set()
+        ret = set()
+        skip = 0
+        max_count = 1000
+        cms = None
+        while cms != []:
+            cms = self._git.commits("--all", max_count=max_count, skip=skip)
+            skip += max_count
+            ret.update([ids.convert_revision_id_git_to_bzr(cm.id) for cm in cms])
+        return ret
+
     def is_shared(self):
         return True
 




More information about the bazaar-commits mailing list