Rev 97: use mapping object. in http://people.samba.org/bzr/jelmer/bzr-git/trunk
Jelmer Vernooij
jelmer at samba.org
Sat Aug 23 14:53:50 BST 2008
At http://people.samba.org/bzr/jelmer/bzr-git/trunk
------------------------------------------------------------
revno: 97
revision-id: jelmer at samba.org-20080823135348-37p81972kdzjdvrn
parent: jelmer at samba.org-20080823131804-beqfmh0nh77hc6x2
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Sat 2008-08-23 15:53:48 +0200
message:
use mapping object.
renamed:
ids.py => mapping.py ids.py-20071108230535-su8dxk529f4uk9fx-3
modified:
branch.py git_branch.py-20071108230535-su8dxk529f4uk9fx-2
repository.py git_repository.py-20071108234408-ygidvy5hviixghsd-2
tests/test_branch.py test_git_branch.py-20071108234408-ygidvy5hviixghsd-3
tests/test_ids.py test_ids.py-20070202180809-x7e2o6nhz30onckb-1
tests/test_repository.py test_git_repository.-20071108234408-ygidvy5hviixghsd-5
mapping.py ids.py-20071108230535-su8dxk529f4uk9fx-3
=== modified file 'branch.py'
--- a/branch.py 2008-08-23 13:18:04 +0000
+++ b/branch.py 2008-08-23 13:53:48 +0000
@@ -24,7 +24,7 @@
)
from bzrlib.decorators import needs_read_lock
-from bzrlib.plugins.git import ids
+from bzrlib.plugins.git.mapping import default_mapping
class GitTagDict(tag.BasicTags):
@@ -35,7 +35,7 @@
def get_tag_dict(self):
ret = {}
for tag in self.repository._git.tags:
- ret[tag.name] = ids.convert_revision_id_git_to_bzr(tag.commit.id)
+ ret[tag.name] = default_mapping.convert_revision_id_git_to_bzr(tag.commit.id)
return ret
def set_tag(self, name, revid):
@@ -84,7 +84,7 @@
# perhaps should escape this ?
if self.head is None:
return revision.NULL_REVISION
- return ids.convert_revision_id_git_to_bzr(self.head)
+ return default_mapping.convert_revision_id_git_to_bzr(self.head)
def _make_tags(self):
return GitTagDict(self)
@@ -109,7 +109,7 @@
skip += max_count
for cm in cms:
if cm.id == nextid:
- ret.append(ids.convert_revision_id_git_to_bzr(cm.id))
+ ret.append(default_mapping.convert_revision_id_git_to_bzr(cm.id))
if cm.parents == []:
nextid = None
else:
=== renamed file 'ids.py' => 'mapping.py'
--- a/ids.py 2007-12-30 04:33:51 +0000
+++ b/mapping.py 2008-08-23 13:53:48 +0000
@@ -16,16 +16,23 @@
"""Converters, etc for going between Bazaar and Git ids."""
-NAMESPACE = 'git-experimental'
-_revision_id_prefix = NAMESPACE + '-r:'
-
-
-def convert_revision_id_git_to_bzr(git_rev_id):
- """Convert a git revision id handle to a Bazaar revision id."""
- return _revision_id_prefix + git_rev_id
-
-
-def convert_revision_id_bzr_to_git(bzr_rev_id):
- """Convert a Bazaar revision id to a git revision id handle."""
- assert bzr_rev_id.startswith(_revision_id_prefix)
- return bzr_rev_id[len(_revision_id_prefix):]
+class BzrGitMapping(object):
+ """Class that maps between Git and Bazaar semantics."""
+ experimental = False
+ namespace = None
+
+ def convert_revision_id_git_to_bzr(self, git_rev_id):
+ """Convert a git revision id handle to a Bazaar revision id."""
+ return "%s:%s" % (self.namespace, git_rev_id)
+
+ def convert_revision_id_bzr_to_git(self, bzr_rev_id):
+ """Convert a Bazaar revision id to a git revision id handle."""
+ assert bzr_rev_id.startswith("%s:" % self.namespace)
+ return bzr_rev_id[len(self.namespace)+1:]
+
+
+class BzrGitMappingExperimental(BzrGitMapping):
+ namespace = 'git-experimental'
+
+
+default_mapping = BzrGitMappingExperimental()
=== modified file 'repository.py'
--- a/repository.py 2008-08-23 13:12:10 +0000
+++ b/repository.py 2008-08-23 13:53:48 +0000
@@ -35,9 +35,9 @@
from bzrlib.transport import get_transport
from bzrlib.plugins.git import (
- ids,
versionedfiles
)
+from bzrlib.plugins.git.mapping import default_mapping
class GitRepository(repository.Repository):
@@ -66,7 +66,7 @@
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])
+ ret.update([default_mapping.convert_revision_id_git_to_bzr(cm.id) for cm in cms])
return ret
def is_shared(self):
@@ -88,9 +88,9 @@
max_count = 1000
cms = None
while cms != []:
- cms = self._git.commits(ids.convert_revision_id_bzr_to_git(revision_id), max_count=max_count, skip=skip)
+ cms = self._git.commits(default_mapping.convert_revision_id_bzr_to_git(revision_id), max_count=max_count, skip=skip)
skip += max_count
- ret += [ids.convert_revision_id_git_to_bzr(cm.id) for cm in cms]
+ ret += [default_mapping.convert_revision_id_git_to_bzr(cm.id) for cm in cms]
return [None] + ret
def get_signature_text(self, revision_id):
@@ -105,12 +105,12 @@
if revid == revision.NULL_REVISION:
ret[revid] = ()
else:
- commit = self._git.commit(ids.convert_revision_id_bzr_to_git(revid))
- ret[revid] = tuple([ids.convert_revision_id_git_to_bzr(p.id) for p in commit.parents])
+ commit = self._git.commit(default_mapping.convert_revision_id_bzr_to_git(revid))
+ ret[revid] = tuple([default_mapping.convert_revision_id_git_to_bzr(p.id) for p in commit.parents])
return ret
def get_revision(self, revision_id):
- git_commit_id = ids.convert_revision_id_bzr_to_git(revision_id)
+ git_commit_id = default_mapping.convert_revision_id_bzr_to_git(revision_id)
commit = self._git.commit(git_commit_id)
# print "fetched revision:", git_commit_id
revision = self._parse_rev(commit)
@@ -133,8 +133,8 @@
:return: a `bzrlib.revision.Revision` object.
"""
- rev = revision.Revision(ids.convert_revision_id_git_to_bzr(commit.id))
- rev.parent_ids = tuple([ids.convert_revision_id_git_to_bzr(p.id) for p in commit.parents])
+ rev = revision.Revision(default_mapping.convert_revision_id_git_to_bzr(commit.id))
+ rev.parent_ids = tuple([default_mapping.convert_revision_id_git_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)
@@ -175,7 +175,7 @@
def __init__(self, repository, revision_id):
self._repository = repository
self.revision_id = revision_id
- git_id = ids.convert_revision_id_bzr_to_git(revision_id)
+ git_id = default_mapping.convert_revision_id_bzr_to_git(revision_id)
self.tree = repository._git.commit(git_id).tree
self._inventory = inventory.Inventory(revision_id=revision_id)
self._inventory.root.revision = revision_id
=== modified file 'tests/test_branch.py'
--- a/tests/test_branch.py 2008-08-23 13:12:10 +0000
+++ b/tests/test_branch.py 2008-08-23 13:53:48 +0000
@@ -21,11 +21,11 @@
from bzrlib import revision
from bzrlib.branch import Branch
-from bzrlib.plugins.git import tests
from bzrlib.plugins.git import (
branch,
- ids,
+ tests,
)
+from bzrlib.plugins.git.mapping import default_mapping
class TestGitBranch(tests.TestCaseInTempDir):
@@ -57,7 +57,7 @@
head = tests.run_git('rev-parse', 'HEAD').strip()
thebranch = Branch.open('.')
- self.assertEqual(ids.convert_revision_id_git_to_bzr(head),
+ self.assertEqual(default_mapping.convert_revision_id_git_to_bzr(head),
thebranch.last_revision())
def test_revision_history(self):
@@ -69,7 +69,7 @@
revb = tests.run_git('rev-parse', 'HEAD').strip()
thebranch = Branch.open('.')
- self.assertEqual([ids.convert_revision_id_git_to_bzr(r) for r in (reva, revb)],
+ self.assertEqual([default_mapping.convert_revision_id_git_to_bzr(r) for r in (reva, revb)],
thebranch.revision_history())
def test_tags(self):
@@ -81,7 +81,7 @@
newid = open('.git/refs/tags/foo').read().rstrip()
thebranch = Branch.open('.')
- self.assertEquals({"foo": ids.convert_revision_id_git_to_bzr(newid)},
+ self.assertEquals({"foo": default_mapping.convert_revision_id_git_to_bzr(newid)},
thebranch.tags.get_tag_dict())
=== modified file 'tests/test_ids.py'
--- a/tests/test_ids.py 2008-07-03 17:09:00 +0000
+++ b/tests/test_ids.py 2008-08-23 13:53:48 +0000
@@ -15,19 +15,19 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
from bzrlib.plugins.git import tests
-from bzrlib.plugins.git import ids
+from bzrlib.plugins.git.mapping import default_mapping
class TestRevidConversion(tests.TestCase):
def test_simple_git_to_bzr_revision_id(self):
- self.assertEqual("git-experimental-r:"
+ self.assertEqual("git-experimental:"
"c6a4d8f1fa4ac650748e647c4b1b368f589a7356",
- ids.convert_revision_id_git_to_bzr(
+ default_mapping.convert_revision_id_git_to_bzr(
"c6a4d8f1fa4ac650748e647c4b1b368f589a7356"))
def test_simple_bzr_to_git_revision_id(self):
self.assertEqual("c6a4d8f1fa4ac650748e647c4b1b368f589a7356",
- ids.convert_revision_id_bzr_to_git(
- "git-experimental-r:"
+ default_mapping.convert_revision_id_bzr_to_git(
+ "git-experimental:"
"c6a4d8f1fa4ac650748e647c4b1b368f589a7356"))
=== modified file 'tests/test_repository.py'
--- a/tests/test_repository.py 2008-08-23 13:12:10 +0000
+++ b/tests/test_repository.py 2008-08-23 13:53:48 +0000
@@ -25,12 +25,12 @@
)
from bzrlib.repository import Repository
-from bzrlib.plugins.git import tests
from bzrlib.plugins.git import (
dir,
repository,
- ids,
+ tests,
)
+from bzrlib.plugins.git.mapping import default_mapping
class TestGitRepositoryFeatures(tests.TestCaseInTempDir):
@@ -62,7 +62,7 @@
commit_id = mapping[commit_handle]
# Get the corresponding Revision object.
- revid = ids.convert_revision_id_git_to_bzr(commit_id)
+ revid = default_mapping.convert_revision_id_git_to_bzr(commit_id)
repo = Repository.open('.')
rev = repo.get_revision(revid)
self.assertIsInstance(rev, revision.Revision)
@@ -82,7 +82,7 @@
def test_revision_tree(self):
commit_id = self.simple_commit()
- revid = ids.convert_revision_id_git_to_bzr(commit_id)
+ revid = default_mapping.convert_revision_id_git_to_bzr(commit_id)
repo = Repository.open('.')
tree = repo.revision_tree(revid)
self.assertEquals(tree.get_revision_id(), revid)
@@ -95,7 +95,7 @@
commit_id = self.simple_commit()
# Get the corresponding Inventory object.
- revid = ids.convert_revision_id_git_to_bzr(commit_id)
+ revid = default_mapping.convert_revision_id_git_to_bzr(commit_id)
repo = Repository.open('.')
inv = repo.get_inventory(revid)
self.assertIsInstance(inv, inventory.Inventory)
@@ -105,7 +105,7 @@
self.assertEqualDiff(
printed_inv,
"('', False, InventoryDirectory('TREE_ROOT', u'', parent_id=None,"
- " revision='git-experimental-r:69c39cfa65962f3cf16b9b3eb08a15954e9d8590'))\n"
+ " revision='git-experimental:69c39cfa65962f3cf16b9b3eb08a15954e9d8590'))\n"
"(u'data', False, InventoryFile('data', u'data',"
" parent_id='TREE_ROOT',"
" sha1='aa785adca3fcdfe1884ae840e13c6d294a2414e8', len=5))\n"
@@ -113,9 +113,9 @@
" parent_id='TREE_ROOT',"
" sha1='040f06fd774092478d450774f5ba30c5da78acc8', len=7))\n"
"(u'link', False, InventoryLink('link', u'link',"
- " parent_id='TREE_ROOT', revision='git-experimental-r:69c39cfa65962f3cf16b9b3eb08a15954e9d8590'))\n"
+ " parent_id='TREE_ROOT', revision='git-experimental:69c39cfa65962f3cf16b9b3eb08a15954e9d8590'))\n"
"(u'subdir', False, InventoryDirectory('subdir', u'subdir',"
- " parent_id='TREE_ROOT', revision='git-experimental-r:69c39cfa65962f3cf16b9b3eb08a15954e9d8590'))\n"
+ " parent_id='TREE_ROOT', revision='git-experimental:69c39cfa65962f3cf16b9b3eb08a15954e9d8590'))\n"
"(u'subdir/subfile', False, InventoryFile('subdir/subfile',"
" u'subfile', parent_id='subdir',"
" sha1='67b75c3e49f31fcadddbf9df6a1d8be8c3e44290', len=12))")
More information about the bazaar-commits
mailing list