Merge lp:~jelmer/brz/git-objects into lp:brz

Proposed by Jelmer Vernooij
Status: Merged
Approved by: Jelmer Vernooij
Approved revision: no longer in the source branch.
Merge reported by: The Breezy Bot
Merged at revision: not available
Proposed branch: lp:~jelmer/brz/git-objects
Merge into: lp:brz
Diff against target: 68 lines (+26/-4)
2 files modified
breezy/git/commands.py (+4/-4)
breezy/git/tests/test_blackbox.py (+22/-0)
To merge this branch: bzr merge lp:~jelmer/brz/git-objects
Reviewer Review Type Date Requested Status
Martin Packman Approve
Review via email: mp+361362@code.launchpad.net

Commit message

Fix 'brz git-objects', and add a test.

Description of the change

Fix 'brz git-objects', and add a test.

To post a comment you must log in.
Revision history for this message
Martin Packman (gz) wrote :

Thanks! One of the risks of inline imports, I wonder if there's a way we can lint rule them as well.

review: Approve
Revision history for this message
The Breezy Bot (the-breezy-bot) wrote :

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'breezy/git/commands.py'
2--- breezy/git/commands.py 2018-11-16 11:37:47 +0000
3+++ breezy/git/commands.py 2019-01-02 23:29:09 +0000
4@@ -194,14 +194,14 @@
5 from .object_store import (
6 get_object_store,
7 )
8- from . import gettext
9+ from ..i18n import gettext
10 controldir, _ = ControlDir.open_containing(directory)
11 repo = controldir.find_repository()
12 object_store = get_object_store(repo)
13 with object_store.lock_read():
14 if sha1 is not None:
15 try:
16- obj = object_store[str(sha1)]
17+ obj = object_store[sha1.encode('ascii')]
18 except KeyError:
19 raise BzrCommandError(
20 gettext("Object not found: %s") % sha1)
21@@ -212,7 +212,7 @@
22 self.outf.write(text)
23 else:
24 for sha1 in object_store:
25- self.outf.write("%s\n" % sha1)
26+ self.outf.write("%s\n" % sha1.decode('ascii'))
27
28
29 class cmd_git_refs(Command):
30@@ -265,7 +265,7 @@
31 :param f: Patch file to read.
32 :param signoff: Add Signed-Off-By flag.
33 """
34- from . import gettext
35+ from ..i18n import gettext
36 from ..errors import BzrCommandError
37 from dulwich.patch import git_am_patch_split
38 import subprocess
39
40=== modified file 'breezy/git/tests/test_blackbox.py'
41--- breezy/git/tests/test_blackbox.py 2018-12-18 20:55:37 +0000
42+++ breezy/git/tests/test_blackbox.py 2019-01-02 23:29:09 +0000
43@@ -433,3 +433,25 @@
44 tree.commit('a commit', committer='Somebody <somebody@example.com>')
45 output, error = self.run_bzr('stats')
46 self.assertEqual(output, ' 1 Somebody <somebody@example.com>\n')
47+
48+
49+class GitObjectsTests(ExternalBase):
50+
51+ def run_simple(self, format):
52+ tree = self.make_branch_and_tree('.', format=format)
53+ self.build_tree(['a/', 'a/foo'])
54+ tree.add(['a'])
55+ tree.commit('add a')
56+ output, error = self.run_bzr('git-objects')
57+ shas = list(output.splitlines())
58+ self.assertEqual([40, 40], [len(s) for s in shas])
59+ self.assertEqual(error, '')
60+
61+ output, error = self.run_bzr('git-object %s' % shas[0])
62+ self.assertEqual('', error)
63+
64+ def test_in_native(self):
65+ self.run_simple(format='git')
66+
67+ def test_in_bzr(self):
68+ self.run_simple(format='2a')

Subscribers

People subscribed via source and target branches