Rev 2747: Fix patch verification of CR and CRLF files and reactivate it in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Fri Aug 24 14:37:52 BST 2007
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 2747
revision-id: pqm at pqm.ubuntu.com-20070824133750-r25v5g25g1flggy6
parent: pqm at pqm.ubuntu.com-20070824031612-53wd9sywqa4zima5
parent: abentley at panoramicfeedback.com-20070824130226-39p2xfpmw36kzuk1
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Fri 2007-08-24 14:37:50 +0100
message:
Fix patch verification of CR and CRLF files and reactivate it
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/merge_directive.py merge_directive.py-20070228184838-ja62280spt1g7f4x-1
bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
bzrlib/tests/test_merge_directive.py test_merge_directive-20070228184838-ja62280spt1g7f4x-2
------------------------------------------------------------
revno: 2520.4.151.1.1.1.4
merged: abentley at panoramicfeedback.com-20070824130226-39p2xfpmw36kzuk1
parent: abentley at panoramicfeedback.com-20070824125926-l0nvn5c5umbb4u1w
committer: Aaron Bentley <abentley at panoramicfeedback.com>
branch nick: bzr.mpbundle
timestamp: Fri 2007-08-24 09:02:26 -0400
message:
Add NEWS entry
------------------------------------------------------------
revno: 2520.4.151.1.1.1.3
merged: abentley at panoramicfeedback.com-20070824125926-l0nvn5c5umbb4u1w
parent: abentley at panoramicfeedback.com-20070815204922-sm909246487o1thf
parent: pqm at pqm.ubuntu.com-20070824031612-53wd9sywqa4zima5
committer: Aaron Bentley <abentley at panoramicfeedback.com>
branch nick: bzr.mpbundle
timestamp: Fri 2007-08-24 08:59:26 -0400
message:
Merge bzr.dev
------------------------------------------------------------
revno: 2520.4.151.1.1.1.2
merged: abentley at panoramicfeedback.com-20070815204922-sm909246487o1thf
parent: abentley at panoramicfeedback.com-20070815203258-dryf3x8sotx7q8y0
committer: Aaron Bentley <abentley at panoramicfeedback.com>
branch nick: bzr.mpbundle
timestamp: Wed 2007-08-15 16:49:22 -0400
message:
Restore patch verification for CR, CRLF files
------------------------------------------------------------
revno: 2520.4.151.1.1.1.1
merged: abentley at panoramicfeedback.com-20070815203258-dryf3x8sotx7q8y0
parent: abentley at panoramicfeedback.com-20070815161519-aw3u3mgqelrwg0hy
committer: Aaron Bentley <abentley at panoramicfeedback.com>
branch nick: bzr.mpbundle
timestamp: Wed 2007-08-15 16:32:58 -0400
message:
Reactivate patch verification
=== modified file 'NEWS'
--- a/NEWS 2007-08-22 23:59:17 +0000
+++ b/NEWS 2007-08-24 13:02:26 +0000
@@ -33,6 +33,9 @@
* get_transport treats an empty possible_transports list the same as a non-
empty one. (Aaron Bentley)
+ * patch verification for merge directives is reactivated, and works with
+ CRLF and CR files. (Aaron Bentley)
+
IMPROVEMENTS:
* ``pull`` and ``merge`` are much faster at installing bundle format 4.
=== modified file 'bzrlib/merge_directive.py'
--- a/bzrlib/merge_directive.py 2007-08-14 23:35:48 +0000
+++ b/bzrlib/merge_directive.py 2007-08-15 20:49:22 +0000
@@ -486,6 +486,7 @@
self.base_revision_id)
# Convert line-endings to UNIX
stored_patch = re.sub('\r\n?', '\n', self.patch)
+ calculated_patch = re.sub('\r\n?', '\n', calculated_patch)
# Strip trailing whitespace
calculated_patch = re.sub(' *\n', '\n', calculated_patch)
stored_patch = re.sub(' *\n', '\n', stored_patch)
@@ -504,8 +505,6 @@
if self._verify_patch(repository):
return 'verified'
else:
- #FIXME patch verification is broken for CRLF files
- return 'inapplicable'
return 'failed'
else:
return 'inapplicable'
=== modified file 'bzrlib/tests/blackbox/test_merge.py'
--- a/bzrlib/tests/blackbox/test_merge.py 2007-08-13 12:48:50 +0000
+++ b/bzrlib/tests/blackbox/test_merge.py 2007-08-15 20:32:58 +0000
@@ -334,9 +334,7 @@
self.write_directive('directive', source.branch, 'target', 'rev1',
mangle_patch=True)
err = self.run_bzr('merge -d target directive')[1]
- self.expectFailure('Patch verification is disabled',
- self.assertContainsRe, err,
- 'Preview patch does not match changes')
+ self.assertContainsRe(err, 'Preview patch does not match changes')
def test_merge_arbitrary(self):
target = self.make_branch_and_tree('target')
=== modified file 'bzrlib/tests/test_merge_directive.py'
--- a/bzrlib/tests/test_merge_directive.py 2007-08-13 12:48:50 +0000
+++ b/bzrlib/tests/test_merge_directive.py 2007-08-15 20:49:22 +0000
@@ -14,6 +14,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+import re
from bzrlib import (
errors,
@@ -352,13 +353,15 @@
tree_a = self.make_branch_and_tree('tree_a')
tree_a.branch.get_config().set_user_option('email',
'J. Random Hacker <jrandom at example.com>')
- self.build_tree_contents([('tree_a/file', 'content_a\ncontent_b\n')])
- tree_a.add('file')
+ self.build_tree_contents([('tree_a/file', 'content_a\ncontent_b\n'),
+ ('tree_a/file_2', 'content_x\rcontent_y\r')])
+ tree_a.add(['file', 'file_2'])
tree_a.commit('message', rev_id='rev1')
tree_b = tree_a.bzrdir.sprout('tree_b').open_workingtree()
branch_c = tree_a.bzrdir.sprout('branch_c').open_branch()
tree_b.commit('message', rev_id='rev2b')
- self.build_tree_contents([('tree_a/file', 'content_a\ncontent_c \n')])
+ self.build_tree_contents([('tree_a/file', 'content_a\ncontent_c \n'),
+ ('tree_a/file_2', 'content_x\rcontent_z\r')])
tree_a.commit('Commit of rev2a', rev_id='rev2a')
return tree_a, tree_b, branch_c
@@ -528,8 +531,7 @@
self.assertEqual('inapplicable', verified)
else:
self.assertEqual('rev1', base)
- self.expectFailure('Patch verification is disabled',
- self.assertEqual, 'failed', verified)
+ self.assertEqual('failed', verified)
def test_install_revisions_bundle(self):
tree_a, tree_b, branch_c = self.make_trees()
@@ -628,14 +630,14 @@
lines = md.to_lines()
md2 = merge_directive.MergeDirective.from_lines(lines)
md2._verify_patch(tree_a.branch.repository)
- # Stript trailing whitespace
+ # Strip trailing whitespace
md2.patch = md2.patch.replace(' \n', '\n')
md2._verify_patch(tree_a.branch.repository)
# Convert to Mac line-endings
- md2.patch = md2.patch.replace('\n', '\r')
+ md2.patch = re.sub('(\r\n|\r|\n)', '\r', md2.patch)
self.assertTrue(md2._verify_patch(tree_a.branch.repository))
# Convert to DOS line-endings
- md2.patch = md2.patch.replace('\r', '\r\n')
+ md2.patch = re.sub('(\r\n|\r|\n)', '\r\n', md2.patch)
self.assertTrue(md2._verify_patch(tree_a.branch.repository))
md2.patch = md2.patch.replace('content_c', 'content_d')
self.assertFalse(md2._verify_patch(tree_a.branch.repository))
More information about the bazaar-commits
mailing list