Rev 3554: (mbp) stacking post-merge review tweaks in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Thu Jul 17 09:29:53 BST 2008
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 3554
revision-id:pqm at pqm.ubuntu.com-20080717082940-zdwz5cqhdoot1swx
parent: pqm at pqm.ubuntu.com-20080717073312-reglpowwyo671081
parent: mbp at sourcefrog.net-20080717080025-bd9k6gpkkkntipwr
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Thu 2008-07-17 09:29:40 +0100
message:
(mbp) stacking post-merge review tweaks
modified:
bzrlib/bzrdir.py bzrdir.py-20060131065624-156dfea39c4387cb
bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
------------------------------------------------------------
revno: 3549.1.4
revision-id:mbp at sourcefrog.net-20080717080025-bd9k6gpkkkntipwr
parent: mbp at sourcefrog.net-20080717060008-ulu4d4h8b57604yb
committer: Martin Pool <mbp at sourcefrog.net>
branch nick: stacking
timestamp: Thu 2008-07-17 18:00:25 +1000
message:
Branching a stacked branch should not automatically turn on stacking
modified:
bzrlib/bzrdir.py bzrdir.py-20060131065624-156dfea39c4387cb
bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
=== modified file 'bzrlib/bzrdir.py'
--- a/bzrlib/bzrdir.py 2008-07-16 07:30:18 +0000
+++ b/bzrlib/bzrdir.py 2008-07-17 08:00:25 +0000
@@ -1059,11 +1059,9 @@
if stacked:
stacked_branch_url = self.root_transport.base
else:
- try:
- stacked_branch_url = source_branch.get_stacked_on_url()
- except (errors.NotStacked, errors.UnstackableBranchFormat,
- errors.UnstackableRepositoryFormat):
- stacked_branch_url = None
+ # if a stacked branch wasn't requested, we don't create one
+ # even if the origin was stacked
+ stacked_branch_url = None
except errors.NotBranchError:
source_branch = None
try:
=== modified file 'bzrlib/tests/blackbox/test_branch.py'
--- a/bzrlib/tests/blackbox/test_branch.py 2008-07-15 05:18:31 +0000
+++ b/bzrlib/tests/blackbox/test_branch.py 2008-07-17 08:00:25 +0000
@@ -19,7 +19,7 @@
import os
-from bzrlib import (branch, bzrdir, repository)
+from bzrlib import (branch, bzrdir, errors, repository)
from bzrlib.repofmt.knitrepo import RepositoryFormatKnit1
from bzrlib.tests.blackbox import ExternalBase
from bzrlib.tests import HardlinkFeature
@@ -130,7 +130,13 @@
repo = bzrdir.BzrDir.open(repo_path).open_repository()
self.assertFalse(repo.has_revision(revid))
- def test_branch_stacked_branch_also_stacked_same_reference(self):
+ def assertRevisionsInBranchRepository(self, revid_list, branch_path):
+ repo = branch.Branch.open(branch_path).repository
+ self.assertEqual(set(revid_list),
+ repo.has_revisions(revid_list))
+
+ def test_branch_stacked_branch_not_stacked(self):
+ """Branching a stacked branch is not stacked by default"""
# We have a mainline
trunk_tree = self.make_branch_and_tree('target',
format='development')
@@ -145,10 +151,36 @@
# mainline.
out, err = self.run_bzr(['branch', 'branch', 'newbranch'])
self.assertEqual('', out)
+ self.assertEqual('Branched 1 revision(s).\n',
+ err)
+ self.assertRaises(errors.NotStacked,
+ bzrdir.BzrDir.open('newbranch').open_branch().get_stacked_on_url)
+
+ def test_branch_stacked_branch_stacked(self):
+ """Asking to stack on a stacked branch does work"""
+ # We have a mainline
+ trunk_tree = self.make_branch_and_tree('target',
+ format='development')
+ trunk_revid = trunk_tree.commit('mainline')
+ # and a branch from it which is stacked
+ branch_tree = self.make_branch_and_tree('branch',
+ format='development')
+ branch_tree.branch.set_stacked_on_url(trunk_tree.branch.base)
+ # with some work on it
+ branch_revid = branch_tree.commit('moar work plz')
+ # you can chain branches on from there
+ out, err = self.run_bzr(['branch', 'branch', '--stacked', 'branch2'])
+ self.assertEqual('', out)
self.assertEqual('Created new stacked branch referring to %s.\n' %
- trunk_tree.branch.base, err)
- self.check_shallow_branch(branch_tree.last_revision(),
- trunk_tree.branch.base)
+ branch_tree.branch.base, err)
+ self.assertEqual(branch_tree.branch.base,
+ branch.Branch.open('branch2').get_stacked_on_url())
+ branch2_tree = WorkingTree.open('branch2')
+ branch2_revid = branch2_tree.commit('work on second stacked branch')
+ self.assertRevisionInRepository('branch2', branch2_revid)
+ self.assertRevisionsInBranchRepository(
+ [trunk_revid, branch_revid, branch2_revid],
+ 'branch2')
def test_branch_stacked(self):
# We have a mainline
More information about the bazaar-commits
mailing list