Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-06-04 09:51:56 +0400
committerJunio C Hamano <gitster@pobox.com>2009-06-04 09:51:56 +0400
commit9831b370b5e50b81faf47d858cd8c6e9e2200204 (patch)
tree015195b83ceaa5c681684f4bc6ede43c8c4f09d8
parent2414b45ce0c56f7744e00e7fef3682a77375701e (diff)
parent6c7f58d6f691c1091b90b0891e94c91e20fd6054 (diff)
Merge branch 'maint' to sync with 1.6.3.2
-rw-r--r--Documentation/RelNotes-1.6.3.2.txt12
-rw-r--r--grep.c6
2 files changed, 10 insertions, 8 deletions
diff --git a/Documentation/RelNotes-1.6.3.2.txt b/Documentation/RelNotes-1.6.3.2.txt
index 0b48d1a1df..b2f3f0293c 100644
--- a/Documentation/RelNotes-1.6.3.2.txt
+++ b/Documentation/RelNotes-1.6.3.2.txt
@@ -37,13 +37,17 @@ Fixes since v1.6.3.1
the first hunk that adds a line at the top was split into two and
both halves are marked to be used.
+ * "git blame path" misbehaved at the commit where path became file
+ from a directory with some files in it.
+
* "git for-each-ref" had a segfaulting bug when dealing with a tag object
created by an ancient git.
* "git format-patch -k" still added patch numbers if format.numbered
configuration was set.
- * "git grep --color ''" did not terminate.
+ * "git grep --color ''" did not terminate. The command also had
+ subtle bugs with its -w option.
* http-push had a small use-after-free bug.
@@ -55,9 +59,3 @@ Fixes since v1.6.3.1
Many other general usability updates around help text, diagnostic messages
and documentation are included as well.
-
----
-exec >/var/tmp/1
-O=v1.6.3.1-68-g456cb4c
-echo O=$(git describe maint)
-git shortlog --no-merges $O..maint
diff --git a/grep.c b/grep.c
index 7bf4a60ac7..92a47c71e7 100644
--- a/grep.c
+++ b/grep.c
@@ -331,7 +331,7 @@ static int match_one_pattern(struct grep_pat *p, char *bol, char *eol,
if (hit && p->word_regexp) {
if ((pmatch[0].rm_so < 0) ||
- (eol - bol) <= pmatch[0].rm_so ||
+ (eol - bol) < pmatch[0].rm_so ||
(pmatch[0].rm_eo < 0) ||
(eol - bol) < pmatch[0].rm_eo)
die("regexp returned nonsense");
@@ -350,6 +350,10 @@ static int match_one_pattern(struct grep_pat *p, char *bol, char *eol,
else
hit = 0;
+ /* Words consist of at least one character. */
+ if (pmatch->rm_so == pmatch->rm_eo)
+ hit = 0;
+
if (!hit && pmatch[0].rm_so + bol + 1 < eol) {
/* There could be more than one match on the
* line, and the first match might not be