summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2012-03-28 12:12:02 +0200
committerAndreas Schwab <schwab@linux-m68k.org>2012-03-28 12:12:02 +0200
commit38de3354b79e6d58d130adeee12a98d35b00db47 (patch)
treef360aa37e65fb0fc8dadd177c92312c930beded9
parentefdf29daf8de3b6c958c9390ea9bd5c0a248a5b1 (diff)
downloademacs-38de3354b79e6d58d130adeee12a98d35b00db47.tar.gz
Fixes: debbugs:11109
* vc/vc-git.el (vc-git-state): Don't try to match all of the diff contents.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/vc/vc-git.el7
2 files changed, 8 insertions, 4 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 65018db7e4d..57c2edcbb28 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2012-03-28 Andreas Schwab <schwab@linux-m68k.org>
+
+ * vc/vc-git.el (vc-git-state): Don't try to match all of the diff
+ contents. (Bug#11109)
+
2012-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/avl-tree.el (avl-tree--enter-balance): Fix paren typo
diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index bf7b7fb9e17..b71dc95dba2 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -220,11 +220,10 @@ matching the resulting Git log output, and KEYWORDS is a list of
(let ((diff (vc-git--run-command-string
file "diff-index" "-p" "--raw" "-z" "HEAD" "--")))
(if (and diff
- (string-match ":[0-7]\\{6\\} [0-7]\\{6\\} [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\([ADMUT]\\)\0[^\0]+\0\\(\\(?:.\\|\n\\)*\\)\\'"
+ (string-match ":[0-7]\\{6\\} [0-7]\\{6\\} [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\([ADMUT]\\)\0[^\0]+\0\\(.\\)?"
diff))
- (let ((diff-letter (match-string 1 diff))
- (diff-contents (match-string 2 diff)))
- (if (not (string-match "\n." diff-contents))
+ (let ((diff-letter (match-string 1 diff)))
+ (if (not (match-beginning 2))
;; Empty diff: file contents is the same as the HEAD
;; revision, but timestamps are different (eg, file
;; was "touch"ed). Update timestamp in index: