Rev 2472: Add BranchBuilder.build_commit. in file:///home/robertc/source/baz/build-branch/

Robert Collins robertc at robertcollins.net
Fri Apr 27 04:02:08 BST 2007


At file:///home/robertc/source/baz/build-branch/

------------------------------------------------------------
revno: 2472
revision-id: robertc at robertcollins.net-20070427030205-ll4s3d57mf0dcaqk
parent: robertc at robertcollins.net-20070427023229-0a72vfyt4forz2c5
committer: Robert Collins <robertc at robertcollins.net>
branch nick: build-branch
timestamp: Fri 2007-04-27 13:02:05 +1000
message:
  Add BranchBuilder.build_commit.
modified:
  bzrlib/branchbuilder.py        branchbuilder.py-20070427022007-zlxpqz2lannhk6y8-1
  bzrlib/tests/test_branchbuilder.py test_branchbuilder.p-20070427022007-zlxpqz2lannhk6y8-2
=== modified file 'bzrlib/branchbuilder.py'
--- a/bzrlib/branchbuilder.py	2007-04-27 02:32:29 +0000
+++ b/bzrlib/branchbuilder.py	2007-04-27 03:02:05 +0000
@@ -16,7 +16,7 @@
 
 """Utility for create branches with particular contents."""
 
-from bzrlib import bzrdir, errors
+from bzrlib import bzrdir, errors, memorytree
 
 
 class BranchBuilder(object):
@@ -34,6 +34,14 @@
         self._branch = bzrdir.BzrDir.create_branch_convenience(transport.base,
             format=bzrdir.format_registry.make_bzrdir('default'))
 
+    def build_commit(self):
+        """Build a commit on the branch."""
+        tree = memorytree.MemoryTree.create_on_branch(self._branch)
+        tree.lock_write()
+        tree.add('')
+        tree.commit('commit %d' % (self._branch.revno() + 1))
+        tree.unlock()
+
     def get_branch(self):
         """Return the branch created by the builder."""
         return self._branch

=== modified file 'bzrlib/tests/test_branchbuilder.py'
--- a/bzrlib/tests/test_branchbuilder.py	2007-04-27 02:31:43 +0000
+++ b/bzrlib/tests/test_branchbuilder.py	2007-04-27 03:02:05 +0000
@@ -41,3 +41,29 @@
         self.assertEqual(
             (0, _mod_revision.NULL_REVISION),
             branch.last_revision_info())
+
+    def test_build_one_commit(self):
+        """doing build_commit causes a commit to happen."""
+        builder = BranchBuilder(self.get_transport().clone('foo'))
+        builder.build_commit()
+        branch = builder.get_branch()
+        self.assertEqual(1, branch.last_revision_info()[0])
+        # we dont care what the revision id is.
+        self.assertEqual(
+            'commit 1',
+            branch.repository.get_revision(branch.last_revision()).message)
+
+    def test_build_two_commits(self):
+        """The second commit has the right parents and message."""
+        builder = BranchBuilder(self.get_transport().clone('foo'))
+        builder.build_commit()
+        builder.build_commit()
+        branch = builder.get_branch()
+        self.assertEqual(2, branch.last_revision_info()[0])
+        # we dont care what the revision id is.
+        self.assertEqual(
+            'commit 2',
+            branch.repository.get_revision(branch.last_revision()).message)
+        self.assertEqual(
+            [branch.revision_history()[0]],
+            branch.repository.get_revision(branch.last_revision()).parent_ids)



More information about the bazaar-commits mailing list