Re: [PATCH] vc-git.el: Switch to using git-blame instead of git-annotate.
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:42
Alexandre Julliard [off-list ref] writes:
quoted hunk
Signed-off-by: Alexandre Julliard <redacted> --- contrib/emacs/vc-git.el | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)diff --git a/contrib/emacs/vc-git.el b/contrib/emacs/vc-git.el index 4a8f790..4189c4c 100644 --- a/contrib/emacs/vc-git.el +++ b/contrib/emacs/vc-git.el@@ -119,10 +119,10 @@ (defun vc-git-checkout (file &optional e (defun vc-git-annotate-command (file buf &optional rev) ; FIXME: rev is ignored (let ((name (file-relative-name file))) - (call-process "git" nil buf nil "annotate" name))) + (call-process "git" nil buf nil "blame" name)))
"blame -c" is advertised to give the same format as "annotate", so I think you would not need other hunk if you did.
(defun vc-git-annotate-time ()
- (and (re-search-forward "[0-9a-f]+\t(.*\t\\([0-9]+\\)-\\([0-9]+\\)-\\([0-9]+\\) \\([0-9]+\\):\\([0-9]+\\):\\([0-9]+\\) \\([-+0-9]+\\)\t[0-9]+)" nil t)
+ (and (re-search-forward "[0-9a-f]+ (.* \\([0-9]+\\)-\\([0-9]+\\)-\\([0-9]+\\) \\([0-9]+\\):\\([0-9]+\\):\\([0-9]+\\) \\([-+0-9]+\\) +[0-9]+)" nil t)
(vc-annotate-convert-time
(apply #'encode-time (mapcar (lambda (match) (string-to-number (match-string match))) '(6 5 4 3 2 1 7))))))Not that I am preferring the annotate output format over blame's native output format. I just wanted to know if the reason you did not do -c was because you tried and "blame -c" was not compatible as advertised (in which case we have one more thing to fix).