summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2012-11-24 22:42:49 +0000
committerLars Wendler <polynomial-c@gentoo.org>2012-11-24 22:42:49 +0000
commitbef37b95740a38498b56dc8e8ca0208e49190aa7 (patch)
tree837c05445415efba5b7d02e6e0ff3f153e76fed4 /dev-vcs/mercurial/files
parentRaise minimum mercurial version to 2.3. (diff)
downloadgentoo-2-bef37b95740a38498b56dc8e8ca0208e49190aa7.tar.gz
gentoo-2-bef37b95740a38498b56dc8e8ca0208e49190aa7.tar.bz2
gentoo-2-bef37b95740a38498b56dc8e8ca0208e49190aa7.zip
Revbump to fix an endless grep search (needed by tortoisehg)
(Portage version: 2.2.0_alpha142/cvs/Linux x86_64, signed Manifest commit with key 0x981CA6FC)
Diffstat (limited to 'dev-vcs/mercurial/files')
-rw-r--r--dev-vcs/mercurial/files/mercurial-2.4-dont_grep_indefinitely.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/dev-vcs/mercurial/files/mercurial-2.4-dont_grep_indefinitely.patch b/dev-vcs/mercurial/files/mercurial-2.4-dont_grep_indefinitely.patch
new file mode 100644
index 000000000000..0f95724ffa11
--- /dev/null
+++ b/dev-vcs/mercurial/files/mercurial-2.4-dont_grep_indefinitely.patch
@@ -0,0 +1,43 @@
+
+# HG changeset patch
+# User Idan Kamara <idankk86@gmail.com>
+# Date 1352741223 -7200
+# Node ID 35ba170c0f82dba18f0207ef4bd93216e6de8bbf
+# Parent 45bd0cd7ca04f8cda0a61cddded8838dd312675a
+grep: don't search past the end of the searched string
+
+'*' causes the resulting RE to match 0 or more repetitions of the preceding RE:
+
+>>> bool(re.search('.*', ''))
+>>> True
+
+This causes an infinite loop because currently we're only checking if there was
+a match without looking at where we are in the searched string.
+
+diff -r 45bd0cd7ca04 -r 35ba170c0f82 mercurial/commands.py
+--- a/mercurial/commands.py Tue Nov 13 08:41:56 2012 -0800
++++ b/mercurial/commands.py Mon Nov 12 19:27:03 2012 +0200
+@@ -2935,7 +2935,7 @@
+ def matchlines(body):
+ begin = 0
+ linenum = 0
+- while True:
++ while True and begin < len(body):
+ match = regexp.search(body, begin)
+ if not match:
+ break
+diff -r 45bd0cd7ca04 -r 35ba170c0f82 tests/test-grep.t
+--- a/tests/test-grep.t Tue Nov 13 08:41:56 2012 -0800
++++ b/tests/test-grep.t Mon Nov 12 19:27:03 2012 +0200
+@@ -23,6 +23,10 @@
+
+ simple
+
++ $ hg grep '.*'
++ port:4:export
++ port:4:vaportight
++ port:4:import/export
+ $ hg grep port port
+ port:4:export
+ port:4:vaportight
+