Rev 114: Fix reporting of git commits in 'bzr log'. in http://people.samba.org/bzr/jelmer/bzr-git/trunk

Jelmer Vernooij jelmer at samba.org
Tue Nov 25 03:35:53 GMT 2008


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

------------------------------------------------------------
revno: 114
revision-id: jelmer at samba.org-20081125033552-pcdinr6qqxcuhd1c
parent: jelmer at samba.org-20081125032559-6r3sf0q1h1yto7j5
parent: jelmer at samba.org-20081119131133-wbwmps2nddxla7wc
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Tue 2008-11-25 04:35:52 +0100
message:
  Fix reporting of git commits in 'bzr log'.
modified:
  __init__.py                    __init__.py-20060715102359-vayyec84yioge4ok-1
  mapping.py                     ids.py-20071108230535-su8dxk529f4uk9fx-3
  repository.py                  git_repository.py-20071108234408-ygidvy5hviixghsd-2
    ------------------------------------------------------------
    revno: 110.1.8
    revision-id: jelmer at samba.org-20081119131133-wbwmps2nddxla7wc
    parent: jelmer at samba.org-20081112183914-8pst5p5r51rgh9sn
    parent: jelmer at samba.org-20081119131027-4895dyr5a5i28dum
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: trunk
    timestamp: Wed 2008-11-19 14:11:33 +0100
    message:
      Merge new bzr-foreign.
    modified:
      foreign/__init__.py            foreign.py-20080827193306-rxeku2c2obec90c4-1
    ------------------------------------------------------------
    revno: 110.1.7
    revision-id: jelmer at samba.org-20081112183914-8pst5p5r51rgh9sn
    parent: jelmer at samba.org-20081112181824-nkfnn2xs46vlktfz
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: trunk
    timestamp: Wed 2008-11-12 19:39:14 +0100
    message:
      Cope with utf8 author/committer names.
    modified:
      repository.py                  git_repository.py-20071108234408-ygidvy5hviixghsd-2
    ------------------------------------------------------------
    revno: 110.1.6
    revision-id: jelmer at samba.org-20081112181824-nkfnn2xs46vlktfz
    parent: jelmer at samba.org-20081112145219-rzdu5k5ov97fbfqv
    parent: jelmer at samba.org-20081112181618-jp45woeqhhfv80oy
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: trunk
    timestamp: Wed 2008-11-12 19:18:24 +0100
    message:
      Merge bzr-foreign.
    modified:
      __init__.py                    __init__.py-20060715102359-vayyec84yioge4ok-1
      foreign/__init__.py            foreign.py-20080827193306-rxeku2c2obec90c4-1
    ------------------------------------------------------------
    revno: 110.1.5
    revision-id: jelmer at samba.org-20081112145219-rzdu5k5ov97fbfqv
    parent: jelmer at samba.org-20081112144009-0a5c4do4kln35nii
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: trunk
    timestamp: Wed 2008-11-12 15:52:19 +0100
    message:
      Add log show function for git.
    modified:
      __init__.py                    __init__.py-20060715102359-vayyec84yioge4ok-1
      mapping.py                     ids.py-20071108230535-su8dxk529f4uk9fx-3
      repository.py                  git_repository.py-20071108234408-ygidvy5hviixghsd-2
    ------------------------------------------------------------
    revno: 110.1.4
    revision-id: jelmer at samba.org-20081112144009-0a5c4do4kln35nii
    parent: jelmer at samba.org-20081112143955-oopwy0ieunhfcb2r
    parent: jelmer at samba.org-20081112143610-30109vbbkeuj94y0
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: trunk
    timestamp: Wed 2008-11-12 15:40:09 +0100
    message:
      Merge new bzr-foreign.
    modified:
      foreign/__init__.py            foreign.py-20080827193306-rxeku2c2obec90c4-1
      foreign/upgrade.py             upgrade.py-20080909124113-1j5ajrrwjp4x7z52-1
      foreign/versionedfiles.py      versionedfiles.py-20080829145632-midkv3h7msuyoibq-2
    ------------------------------------------------------------
    revno: 110.1.3
    revision-id: jelmer at samba.org-20081112143955-oopwy0ieunhfcb2r
    parent: jelmer at samba.org-20081005154531-scvfgpqyvttsqogj
    parent: jelmer at samba.org-20081110162254-w72b1vuk55ara152
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: trunk
    timestamp: Wed 2008-11-12 15:39:55 +0100
    message:
      Merge upstream.
    modified:
      branch.py                      git_branch.py-20071108230535-su8dxk529f4uk9fx-2
      foreign/__init__.py            foreign.py-20080827193306-rxeku2c2obec90c4-1
      foreign/upgrade.py             upgrade.py-20080909124113-1j5ajrrwjp4x7z52-1
    ------------------------------------------------------------
    revno: 110.1.2
    revision-id: jelmer at samba.org-20081005154531-scvfgpqyvttsqogj
    parent: elliot at elliotmurphy.com-20081004023723-carx43s8xdgf1l9z
    parent: ali.sabil at gmail.com-20081003230849-963nuidkbx7rztmy
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: trunk
    timestamp: Sun 2008-10-05 17:45:31 +0200
    message:
      merge fix for upstream API change.
    modified:
      repository.py                  git_repository.py-20071108234408-ygidvy5hviixghsd-2
        ------------------------------------------------------------
        revno: 110.2.2
        revision-id: ali.sabil at gmail.com-20081003230849-963nuidkbx7rztmy
        parent: ali.sabil at gmail.com-20081003220425-6uex152892aj6fyj
        committer: Ali Sabil <ali.sabil at gmail.com>
        branch nick: git
        timestamp: Sat 2008-10-04 01:08:49 +0200
        message:
          Ported GitRepository to the new git.Tree API
        modified:
          repository.py                  git_repository.py-20071108234408-ygidvy5hviixghsd-2
        ------------------------------------------------------------
        revno: 110.2.1
        revision-id: ali.sabil at gmail.com-20081003220425-6uex152892aj6fyj
        parent: jelmer at samba.org-20080910111436-89veglifyh2v9ate
        committer: Ali Sabil <ali.sabil at gmail.com>
        branch nick: git
        timestamp: Sat 2008-10-04 00:04:25 +0200
        message:
          Fixed wrong import for versionedfiles in repository.py
        modified:
          repository.py                  git_repository.py-20071108234408-ygidvy5hviixghsd-2
    ------------------------------------------------------------
    revno: 110.1.1
    revision-id: elliot at elliotmurphy.com-20081004023723-carx43s8xdgf1l9z
    parent: jelmer at samba.org-20080910111436-89veglifyh2v9ate
    committer: Elliot Murphy <elliot at elliotmurphy.com>
    branch nick: git
    timestamp: Fri 2008-10-03 22:37:23 -0400
    message:
      fix import of versionedfiles
    modified:
      repository.py                  git_repository.py-20071108234408-ygidvy5hviixghsd-2
=== modified file '__init__.py'
--- a/__init__.py	2008-09-01 15:42:59 +0000
+++ b/__init__.py	2008-11-25 03:35:52 +0000
@@ -19,6 +19,7 @@
 """A GIT branch and repository format implementation for bzr."""
 
 from bzrlib import bzrdir
+from bzrlib.foreign import ForeignVcs, VcsMappingRegistry, foreign_vcs_registry
 from bzrlib.plugins.git.dir import GitBzrDirFormat
 
 bzrdir.format_registry.register(
@@ -29,6 +30,18 @@
 
 bzrdir.BzrDirFormat.register_control_format(GitBzrDirFormat)
 
+
+class ForeignGit(ForeignVcs):
+    """Foreign Git."""
+
+
+git_mapping_registry = VcsMappingRegistry()
+git_mapping_registry.register_lazy('git-experimental', "bzrlib.plugins.git.mapping",
+                                   "BzrGitMappingExperimental")
+foreign_vcs_registry.register("git", ForeignGit(git_mapping_registry), 
+                                      "Stupid content tracker")
+
+
 def test_suite():
     from bzrlib.plugins.git import tests
     return tests.test_suite()

=== modified file 'mapping.py'
--- a/mapping.py	2008-11-25 03:25:59 +0000
+++ b/mapping.py	2008-11-25 03:35:52 +0000
@@ -18,6 +18,7 @@
 
 from bzrlib import errors, foreign
 
+
 class BzrGitMapping(foreign.VcsMapping):
     """Class that maps between Git and Bazaar semantics."""
     experimental = False
@@ -32,6 +33,9 @@
             raise errors.InvalidRevisionId(bzr_rev_id, self)
         return bzr_rev_id[len(self.revid_prefix)+1:]
 
+    def show_foreign_revid(self, foreign_revid):
+        return { "git commit": foreign_revid }
+
 
 class BzrGitMappingExperimental(BzrGitMapping):
     revid_prefix = 'git-experimental'

=== modified file 'repository.py'
--- a/repository.py	2008-11-10 16:22:54 +0000
+++ b/repository.py	2008-11-25 03:35:52 +0000
@@ -24,6 +24,7 @@
 from bzrlib import (
     deprecated_graph,
     errors,
+    foreign,
     inventory,
     osutils,
     repository,
@@ -35,7 +36,7 @@
 from bzrlib.transport import get_transport
 
 from bzrlib.plugins.git.foreign import (
-    versionedfiles
+    versionedfiles,
     )
 from bzrlib.plugins.git.mapping import default_mapping
 
@@ -139,12 +140,12 @@
 
         :return: a `bzrlib.revision.Revision` object.
         """
-        rev = revision.Revision(default_mapping.revision_id_foreign_to_bzr(commit.id))
+        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.message = commit.message.decode("utf-8", "replace")
-        rev.committer = str(commit.committer)
-        rev.properties['author'] = str(commit.author)
+        rev.committer = str(commit.committer).decode("utf-8", "replace")
+        rev.properties['author'] = str(commit.author).decode("utf-8", "replace")
         rev.timestamp = time.mktime(commit.committed_date)
         rev.timezone = 0
         return rev
@@ -200,7 +201,8 @@
 
     def _build_inventory(self, tree, ie, path):
         assert isinstance(path, str)
-        for b in tree.contents:
+        for key in tree:
+            b = tree.get(key)
             basename = b.name.decode("utf-8")
             if path == "":
                 child_path = b.name




More information about the bazaar-commits mailing list