Rev 3572: MemoryTree.add(directory) will now create a directory node in the Transport in http://bzr.arbash-meinel.com/branches/bzr/1.7-dev/branch_builder
John Arbash Meinel
john at arbash-meinel.com
Tue Jul 22 19:01:01 BST 2008
At http://bzr.arbash-meinel.com/branches/bzr/1.7-dev/branch_builder
------------------------------------------------------------
revno: 3572
revision-id: john at arbash-meinel.com-20080722175957-9gz0my3cvanggos8
parent: john at arbash-meinel.com-20080722173559-3o5pf3v21qlghppy
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: branch_builder
timestamp: Tue 2008-07-22 12:59:57 -0500
message:
MemoryTree.add(directory) will now create a directory node in the Transport
-------------- next part --------------
=== modified file 'bzrlib/memorytree.py'
--- a/bzrlib/memorytree.py 2008-06-18 05:35:02 +0000
+++ b/bzrlib/memorytree.py 2008-07-22 17:59:57 +0000
@@ -59,6 +59,8 @@
self._inventory.add_path(f, kind=kind)
else:
self._inventory.add_path(f, kind=kind, file_id=file_id)
+ if kind == 'directory' and f != '':
+ self._file_transport.mkdir(f)
def basis_tree(self):
"""See Tree.basis_tree()."""
=== modified file 'bzrlib/tests/test_branchbuilder.py'
--- a/bzrlib/tests/test_branchbuilder.py 2008-07-22 17:35:59 +0000
+++ b/bzrlib/tests/test_branchbuilder.py 2008-07-22 17:59:57 +0000
@@ -142,6 +142,22 @@
self.addCleanup(rev_tree.unlock)
self.assertTreeShape([(u'', 'a-root-id', 'directory')], rev_tree)
+ def test_delete_directory(self):
+ builder = self.build_a_rev()
+ rev_id2 = builder.build_snapshot(None, 'B-id',
+ [('add', ('b', 'b-id', 'directory', None)),
+ ('add', ('b/c', 'c-id', 'file', 'foo\n')),
+ ('add', ('b/d', 'd-id', 'directory', None)),
+ ('add', ('b/d/e', 'e-id', 'file', 'eff\n')),
+ ])
+ rev_tree = builder.get_branch().repository.revision_tree('B-id')
+ self.assertTreeShape([(u'', 'a-root-id', 'directory'),
+ (u'a', 'a-id', 'file'),
+ (u'b', 'b-id', 'directory'),
+ (u'b/c', 'c-id', 'file'),
+ (u'b/d', 'd-id', 'directory'),
+ (u'b/d/e', 'e-id', 'file')], rev_tree)
+
def test_unknown_action(self):
builder = self.build_a_rev()
self.assertRaises(errors.UnknownBuildAction,
=== modified file 'bzrlib/tests/test_memorytree.py'
--- a/bzrlib/tests/test_memorytree.py 2007-11-21 23:42:50 +0000
+++ b/bzrlib/tests/test_memorytree.py 2008-07-22 17:59:57 +0000
@@ -101,7 +101,7 @@
self.assertEqual('afile', tree.id2path(tree.path2id('afile')))
self.assertEqual('adir', tree.id2path(tree.path2id('adir')))
self.assertFalse(tree.has_filename('afile'))
- self.assertFalse(tree.has_filename('adir'))
+ self.assertTrue(tree.has_filename('adir'))
tree.unlock()
def test_put_new_file(self):
@@ -125,6 +125,17 @@
self.assertEqual('barshoom', tree.get_file('foo-id').read())
tree.unlock()
+ def test_add_in_subdir(self):
+ branch = self.make_branch('branch')
+ tree = MemoryTree.create_on_branch(branch)
+ tree.lock_write()
+ self.addCleanup(tree.unlock)
+ tree.add(['', 'adir', 'adir/afile'], ['root-id', 'dir-id', 'file-id'],
+ ['directory', 'directory', 'file'])
+ self.assertEqual('adir/afile', tree.id2path('file-id'))
+ self.assertEqual('adir', tree.id2path('dir-id'))
+ tree.put_file_bytes_non_atomic('file-id', 'barshoom')
+
def test_commit_trivial(self):
"""Smoke test for commit on a MemoryTree.
More information about the bazaar-commits
mailing list