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