From 38de3354b79e6d58d130adeee12a98d35b00db47 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Wed, 28 Mar 2012 12:12:02 +0200 Subject: [PATCH] Fixes: debbugs:11109 * vc/vc-git.el (vc-git-state): Don't try to match all of the diff contents. --- lisp/ChangeLog | 5 +++++ lisp/vc/vc-git.el | 7 +++---- 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 + + * vc/vc-git.el (vc-git-state): Don't try to match all of the diff + contents. (Bug#11109) + 2012-03-27 Stefan Monnier * 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: -- 2.11.4.GIT