Rev 4788: Handle when pull --overwrite no longer has the tip in the ancestry. in http://bazaar.launchpad.net/~jameinel/bzr/2.1.0b4-pull-v
John Arbash Meinel
john at arbash-meinel.com
Wed Dec 9 17:29:40 GMT 2009
At http://bazaar.launchpad.net/~jameinel/bzr/2.1.0b4-pull-v
------------------------------------------------------------
revno: 4788
revision-id: john at arbash-meinel.com-20091209172936-wwrhk4kzu68t3jyu
parent: john at arbash-meinel.com-20091208174804-2eai7wn4ekuhg4tt
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: 2.1.0b4-pull-v
timestamp: Wed 2009-12-09 11:29:36 -0600
message:
Handle when pull --overwrite no longer has the tip in the ancestry.
-------------- next part --------------
=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py 2009-12-08 17:48:04 +0000
+++ b/bzrlib/builtins.py 2009-12-09 17:29:36 +0000
@@ -1031,11 +1031,16 @@
% (target, result.old_revid, result.new_revid))
result.report(self.outf)
if verbose and result.old_revid != result.new_revid:
- old_dotted_revno = branch_to.revision_id_to_dotted_revno(
- result.old_revid)
- old_dotted_revno = '.'.join([str(i) for i in old_dotted_revno])
- self.outf.write('Tip revision before pull was: %s\n'
- % (old_dotted_revno,))
+ try:
+ old_revno_in_to = branch_to.revision_id_to_dotted_revno(
+ result.old_revid)
+ old_revstr = '.'.join([str(i) for i in old_revno_in_to])
+ except errors.NoSuchRevision:
+ self.outf.write('Tip revision no longer in ancestry.'
+ ' Was revid:%s\n' % (result.old_revid,))
+ else:
+ self.outf.write('Tip revision before pull was: %s\n'
+ % (old_revstr,))
log.show_branch_change(
branch_to, self.outf, result.old_revno,
result.old_revid)
=== modified file 'bzrlib/tests/blackbox/test_pull.py'
--- a/bzrlib/tests/blackbox/test_pull.py 2009-12-08 17:41:06 +0000
+++ b/bzrlib/tests/blackbox/test_pull.py 2009-12-09 17:29:36 +0000
@@ -415,6 +415,23 @@
out = self.run_bzr('pull -d target -v')[0]
self.assertContainsRe(out, 'Tip revision before pull was: 1.1.2')
+ def test_pull_verbose_prints_not_in_ancestry_tip(self):
+ builder = self.make_branch_builder('source')
+ builder.start_series()
+ builder.build_snapshot('A', None, [
+ ('add', ('', 'TREE_ROOT', 'directory', None))])
+ builder.build_snapshot('B', ['A'], [])
+ builder.build_snapshot('C', ['B'], [])
+ builder.build_snapshot('D', ['A', 'B'], [])
+ builder.finish_series()
+ b = builder.get_branch()
+ b.lock_write()
+ self.addCleanup(b.unlock)
+ b.bzrdir.sprout('target', revision_id='C')
+ out = self.run_bzr('pull -d target -v --overwrite')[0]
+ self.assertContainsRe(out, 'Tip revision no longer in ancestry.'
+ ' Was revid:C')
+
def test_pull_verbose_does_not_print_tip_when_nothing_is_pulled(self):
parent = self.make_branch_and_tree('parent')
rev1 = parent.commit(message='first commit', rev_id='number-one')
More information about the bazaar-commits
mailing list