Rev 115: Pass mapping object. in http://people.samba.org/bzr/jelmer/bzr-git/trunk

Jelmer Vernooij jelmer at samba.org
Tue Nov 25 03:57:41 GMT 2008


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

------------------------------------------------------------
revno: 115
revision-id: jelmer at samba.org-20081125035740-ngekd1kq7ons9rpk
parent: jelmer at samba.org-20081125033552-pcdinr6qqxcuhd1c
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Tue 2008-11-25 04:57:40 +0100
message:
  Pass mapping object.
modified:
  repository.py                  git_repository.py-20071108234408-ygidvy5hviixghsd-2
=== modified file 'repository.py'
--- a/repository.py	2008-11-25 03:35:52 +0000
+++ b/repository.py	2008-11-25 03:57:40 +0000
@@ -24,7 +24,6 @@
 from bzrlib import (
     deprecated_graph,
     errors,
-    foreign,
     inventory,
     osutils,
     repository,
@@ -33,15 +32,19 @@
     urlutils,
     versionedfile,
     )
+from bzrlib.foreign import (
+        ForeignRevision,
+        )
 from bzrlib.transport import get_transport
 
 from bzrlib.plugins.git.foreign import (
+    ForeignRepository,
     versionedfiles,
     )
 from bzrlib.plugins.git.mapping import default_mapping
 
 
-class GitRepository(repository.Repository):
+class GitRepository(ForeignRepository):
     """An adapter to git repositories for bzr."""
 
     _serializer = None
@@ -120,7 +123,7 @@
         git_commit_id = self.lookup_git_revid(revision_id, default_mapping)
         commit = self._git.commit(git_commit_id)
         # print "fetched revision:", git_commit_id
-        revision = self._parse_rev(commit)
+        revision = self._parse_rev(commit, default_mapping)
         return revision
 
     def has_revision(self, revision_id):
@@ -135,14 +138,13 @@
         return [self.get_revision(r) for r in revisions]
 
     @classmethod
-    def _parse_rev(klass, commit):
+    def _parse_rev(klass, commit, mapping):
         """Convert a git commit to a bzr revision.
 
         :return: a `bzrlib.revision.Revision` object.
         """
-        rev = foreign.ForeignRevision(commit.id, default_mapping, default_mapping.revision_id_foreign_to_bzr(commit.id))
-        rev.parent_ids = tuple([default_mapping.revision_id_foreign_to_bzr(p.id) for p in commit.parents])
-        rev.inventory_sha1 = ""
+        rev = ForeignRevision(commit.id, mapping, mapping.revision_id_foreign_to_bzr(commit.id))
+        rev.parent_ids = tuple([mapping.revision_id_foreign_to_bzr(p.id) for p in commit.parents])
         rev.message = commit.message.decode("utf-8", "replace")
         rev.committer = str(commit.committer).decode("utf-8", "replace")
         rev.properties['author'] = str(commit.author).decode("utf-8", "replace")
@@ -201,8 +203,7 @@
 
     def _build_inventory(self, tree, ie, path):
         assert isinstance(path, str)
-        for key in tree:
-            b = tree.get(key)
+        for b in tree.contents:
             basename = b.name.decode("utf-8")
             if path == "":
                 child_path = b.name




More information about the bazaar-commits mailing list