# HG changeset patch # User Benoit Boissinot # Date 2010-03-18 17:22:34 # Node ID 7a5931c5f2dc307cd7c21fb7b84995865b0f2586 # Parent 4a70178f9bdef5a9f9539ab815be017062fa3dac patch: enhance diff detection regexp, allow '--- ' in patch message diff --git a/mercurial/patch.py b/mercurial/patch.py --- a/mercurial/patch.py +++ b/mercurial/patch.py @@ -178,7 +178,8 @@ def extract(ui, fileobj): # (this heuristic is borrowed from quilt) diffre = re.compile(r'^(?:Index:[ \t]|diff[ \t]|RCS file: |' r'retrieving revision [0-9]+(\.[0-9]+)*$|' - r'(---|\*\*\*)[ \t])', re.MULTILINE) + r'(---|\*\*\*)[ \t].*?' + r'^(\+\+\+|\*\*\*)[ \t])', re.MULTILINE|re.DOTALL) fd, tmpname = tempfile.mkstemp(prefix='hg-patch-') tmpfp = os.fdopen(fd, 'w') diff --git a/tests/test-import b/tests/test-import --- a/tests/test-import +++ b/tests/test-import @@ -375,6 +375,25 @@ hg import -d '0 0' a.patch hg parents -v cd .. +echo % '--- in commit message' +hg init commitconfusion +cd commitconfusion +cat > a.patch < trickyheaders.patch < diff --git a/tests/test-import.out b/tests/test-import.out --- a/tests/test-import.out +++ b/tests/test-import.out @@ -318,6 +318,17 @@ module: summary description +% --- in commit message +applying a.patch +changeset: 0:f34d9187897d +tag: tip +user: test +date: Thu Jan 01 00:00:00 1970 +0000 +files: a +description: +module: summary + + % tricky header splitting applying ../trickyheaders.patch # HG changeset patch