Rev 3230: Stackable branch fixes. in http://people.ubuntu.com/~robertc/baz2.0/shallow-branch

Robert Collins robertc at robertcollins.net
Fri Feb 15 03:26:15 GMT 2008


At http://people.ubuntu.com/~robertc/baz2.0/shallow-branch

------------------------------------------------------------
revno: 3230
revision-id:robertc at robertcollins.net-20080215032610-5u2bbflfg1zi4dk0
parent: robertc at robertcollins.net-20080215022546-g3i4tmuoln761k8r
committer: Robert Collins <robertc at robertcollins.net>
branch nick: StackableBranch
timestamp: Fri 2008-02-15 14:26:10 +1100
message:
  Stackable branch fixes.
modified:
  bzrlib/branch.py               branch.py-20050309040759-e4baf4e0d046576e
  bzrlib/tests/branch_implementations/test_stacking.py test_stacking.py-20080214020755-msjlkb7urobwly0f-1
  bzrlib/tests/test_branch.py    test_branch.py-20060116013032-97819aa07b8ab3b5
=== modified file 'bzrlib/branch.py'
--- a/bzrlib/branch.py	2008-02-15 02:25:46 +0000
+++ b/bzrlib/branch.py	2008-02-15 03:26:10 +0000
@@ -1994,6 +1994,10 @@
 
     def get_stacked_on(self):
         self._check_stackable_repo()
+        stacked_url = self.control_files.get_utf8('stacked-on').read()[:-1]
+        if not stacked_url:
+            raise errors.NotStacked(self)
+        return stacked_url
 
     def set_append_revisions_only(self, enabled):
         if enabled:
@@ -2005,6 +2009,9 @@
 
     def set_stacked_on(self, url):
         self._check_stackable_repo()
+        if not url:
+            url = ''
+        self.control_files.put_utf8('stacked-on', url + '\n')
 
     def _get_append_revisions_only(self):
         value = self.get_config().get_user_option('append_revisions_only')

=== modified file 'bzrlib/tests/branch_implementations/test_stacking.py'
--- a/bzrlib/tests/branch_implementations/test_stacking.py	2008-02-14 02:08:03 +0000
+++ b/bzrlib/tests/branch_implementations/test_stacking.py	2008-02-15 03:26:10 +0000
@@ -41,6 +41,6 @@
             self.assertRaises(old_format_errors, branch.get_stacked_on)
             return
         # now we have a stacked branch:
-        self.assertEqual(target.base, branch.get_stacked_on)
+        self.assertEqual(target.base, branch.get_stacked_on())
         branch.set_stacked_on(None)
-        self.assertRaises(NotStacked, branch.get_stacked_on)
+        self.assertRaises(errors.NotStacked, branch.get_stacked_on)

=== modified file 'bzrlib/tests/test_branch.py'
--- a/bzrlib/tests/test_branch.py	2008-02-14 00:40:32 +0000
+++ b/bzrlib/tests/test_branch.py	2008-02-15 03:26:10 +0000
@@ -339,7 +339,9 @@
         return "development-subtree"
 
     def test_set_stacked_on_unstackable_repo(self):
-        branch = self.make_branch('a', format=self.get_format_name())
+        repo = self.make_repository('a', format='dirstate-tags')
+        control = repo.bzrdir
+        branch = _mod_branch.BzrBranchFormat7().initialize(control)
         target = self.make_branch('b')
         self.assertRaises(errors.UnstackableRepositoryFormat,
             branch.set_stacked_on, target.base)



More information about the bazaar-commits mailing list