Rev 2591: (Aaron Bentley) Fix bug #94975 by using iter_entries_by_dir instead of iter_entries to ensure parents come before children in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Thu Jul 5 22:33:00 BST 2007
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 2591
revision-id: pqm at pqm.ubuntu.com-20070705213250-ae4p76jrqrmo3dko
parent: pqm at pqm.ubuntu.com-20070705054119-z89j99ne0vvywkgu
parent: aaron.bentley at utoronto.ca-20070705101146-on81r29qia562yfe
committer: Canonical.com Patch Queue Manager<pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Thu 2007-07-05 22:32:50 +0100
message:
(Aaron Bentley) Fix bug #94975 by using iter_entries_by_dir instead of iter_entries to ensure parents come before children
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/commit.py commit.py-20050511101309-79ec1a0168e0e825
bzrlib/tests/blackbox/test_commit.py test_commit.py-20060212094538-ae88fc861d969db0
bzrlib/tests/test_commit.py test_commit.py-20050914060732-279f057f8c295434
------------------------------------------------------------
revno: 1551.2.49.1.40.1.22.1.42.1.31.1.39.1.17.1.39
merged: aaron.bentley at utoronto.ca-20070705101146-on81r29qia562yfe
parent: aaron.bentley at utoronto.ca-20070705101013-bmnyx2s2jnhtcu87
committer: Aaron Bentley <aaron.bentley at utoronto.ca>
branch nick: Aaron's mergeable stuff
timestamp: Thu 2007-07-05 06:11:46 -0400
message:
Fix commit ordering (#94975)
------------------------------------------------------------
revno: 1551.2.49.1.40.1.22.1.42.1.31.1.39.1.17.1.38
merged: aaron.bentley at utoronto.ca-20070705101013-bmnyx2s2jnhtcu87
parent: aaron.bentley at utoronto.ca-20070705012321-nk0ej02hpmmpbwqw
parent: pqm at pqm.ubuntu.com-20070705054119-z89j99ne0vvywkgu
committer: Aaron Bentley <aaron.bentley at utoronto.ca>
branch nick: Aaron's mergeable stuff
timestamp: Thu 2007-07-05 06:10:13 -0400
message:
Merge bzr.dev
=== modified file 'NEWS'
--- a/NEWS 2007-07-05 01:22:38 +0000
+++ b/NEWS 2007-07-05 10:11:46 +0000
@@ -33,6 +33,8 @@
* Warn when setting ``push_location`` to a value that will be masked by
locations.conf. (Aaron Bentley, #122286)
+ * Fix commit ordering in corner case (Aaron Bentley, #94975)
+
IMPROVEMENTS:
* The --lsprof-file option now dumps a text rendering of the profiling
=== modified file 'bzrlib/commit.py'
--- a/bzrlib/commit.py 2007-07-05 04:27:32 +0000
+++ b/bzrlib/commit.py 2007-07-05 10:11:46 +0000
@@ -599,7 +599,7 @@
self.pb_entries_total = len(work_inv)
# Check and warn about old CommitBuilders
- entries = work_inv.iter_entries()
+ entries = work_inv.iter_entries_by_dir()
if not self.builder.record_root_entry:
symbol_versioning.warn('CommitBuilders should support recording'
' the root entry as of bzr 0.10.', DeprecationWarning,
=== modified file 'bzrlib/tests/blackbox/test_commit.py'
--- a/bzrlib/tests/blackbox/test_commit.py 2007-06-28 12:26:11 +0000
+++ b/bzrlib/tests/blackbox/test_commit.py 2007-07-05 10:11:46 +0000
@@ -210,9 +210,9 @@
'added newdir\n'
'added newfile\n'
'renamed dirtorename => renameddir\n'
+ 'renamed filetorename => renamedfile\n'
'renamed dirtoreparent => renameddir/reparenteddir\n'
'renamed filetoreparent => renameddir/reparentedfile\n'
- 'renamed filetorename => renamedfile\n'
'deleted dirtoremove\n'
'deleted filetoremove\n'
'Committed revision 2.\n',
=== modified file 'bzrlib/tests/test_commit.py'
--- a/bzrlib/tests/test_commit.py 2007-06-25 20:05:06 +0000
+++ b/bzrlib/tests/test_commit.py 2007-07-05 10:11:46 +0000
@@ -525,9 +525,9 @@
('change', 'added', 'newdir'),
('change', 'added', 'newfile'),
('renamed', 'renamed', 'dirtorename', 'renameddir'),
+ ('renamed', 'renamed', 'filetorename', 'renamedfile'),
('renamed', 'renamed', 'dirtoreparent', 'renameddir/reparenteddir'),
('renamed', 'renamed', 'filetoreparent', 'renameddir/reparentedfile'),
- ('renamed', 'renamed', 'filetorename', 'renamedfile'),
('deleted', 'dirtoremove'),
('deleted', 'filetoremove'),
],
@@ -695,3 +695,14 @@
self.assertEqual(['bar', 'baz'], err.files)
self.assertEqual('Selected-file commit of merges is not supported'
' yet: files bar, baz', str(err))
+
+ def test_commit_ordering(self):
+ """Test of corner-case commit ordering error"""
+ tree = self.make_branch_and_tree('.')
+ self.build_tree(['a/', 'a/z/', 'a/c/', 'a/z/x', 'a/z/y'])
+ tree.add(['a/', 'a/z/', 'a/c/', 'a/z/x', 'a/z/y'])
+ tree.commit('setup')
+ self.build_tree(['a/c/d/'])
+ tree.add('a/c/d')
+ tree.rename_one('a/z/x', 'a/c/d/x')
+ tree.commit('test', specific_files=['a/z/y'])
More information about the bazaar-commits
mailing list