Merge lp:~jelmer/brz/push-non-mainline-to-git 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/push-non-mainline-to-git
Merge into: lp:brz
Diff against target: 42 lines (+20/-1)
2 files modified
breezy/git/branch.py (+4/-1)
breezy/git/tests/test_blackbox.py (+16/-0)
To merge this branch: bzr merge lp:~jelmer/brz/push-non-mainline-to-git
Reviewer Review Type Date Requested Status
Jelmer Vernooij Approve
Review via email: mp+368029@code.launchpad.net

This proposal supersedes a proposal from 2019-05-29.

Commit message

Fix pushing non-mainline revisions from bzr to git.

Description of the change

Fix pushing non-mainline revisions from bzr to git.

To post a comment you must log in.
Revision history for this message
Jelmer Vernooij (jelmer) :
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/branch.py'
2--- breezy/git/branch.py 2019-03-04 05:10:44 +0000
3+++ breezy/git/branch.py 2019-06-01 01:24:57 +0000
4@@ -1254,7 +1254,10 @@
5 if stop_revision is None:
6 (stop_revno, stop_revision) = self.source.last_revision_info()
7 elif stop_revno is None:
8- stop_revno = self.source.revision_id_to_revno(stop_revision)
9+ try:
10+ stop_revno = self.source.revision_id_to_revno(stop_revision)
11+ except errors.NoSuchRevision:
12+ stop_revno = None
13 if not isinstance(stop_revision, bytes):
14 raise TypeError(stop_revision)
15 main_ref = self.target.ref
16
17=== modified file 'breezy/git/tests/test_blackbox.py'
18--- breezy/git/tests/test_blackbox.py 2019-05-27 23:59:12 +0000
19+++ breezy/git/tests/test_blackbox.py 2019-06-01 01:24:57 +0000
20@@ -150,6 +150,22 @@
21 self.assertEqual(b"", output)
22 self.assertTrue(error.endswith(b"Created new branch.\n"))
23
24+ def test_push_lossy_non_mainline(self):
25+ self.run_bzr(['init', '--git', 'bla'])
26+ self.run_bzr(['init', 'foo'])
27+ self.run_bzr(['commit', '--unchanged', '-m', 'bla', 'foo'])
28+ self.run_bzr(['branch', 'foo', 'foo1'])
29+ self.run_bzr(['commit', '--unchanged', '-m', 'bla', 'foo1'])
30+ self.run_bzr(['commit', '--unchanged', '-m', 'bla', 'foo'])
31+ self.run_bzr(['merge', '-d', 'foo', 'foo1'])
32+ self.run_bzr(['commit', '--unchanged', '-m', 'merge', 'foo'])
33+ output, error = self.run_bzr(['push', '--lossy', '-r1.1.1', '-d', 'foo', 'bla'])
34+ self.assertEqual("", output)
35+ self.assertEqual(
36+ 'Pushing from a Bazaar to a Git repository. For better '
37+ 'performance, push into a Bazaar repository.\n'
38+ 'Pushed up to revision 2.\n', error)
39+
40 def test_log(self):
41 # Smoke test for "bzr log" in a git repository.
42 self.simple_commit()

Subscribers

People subscribed via source and target branches