Fix print-log and diff compatibility with recent vc versions

Here's a patch that fixes print-log and diff compatibility with recent
vc versions, such as current GNU Emacs CVS.

Signed-off-by: Ville Skytt,Ad(B <scop@xemacs.org>
This commit is contained in:
Ville Skytt,Ad(B 2006-07-05 01:35:52 +03:00 committed by Junio C Hamano
parent 4bbf599f7b
commit b5dd9d2027

View file

@ -95,16 +95,17 @@
"Register FILE into the git version-control system."
(vc-git--run-command file "update-index" "--add" "--"))
(defun vc-git-print-log (file)
(defun vc-git-print-log (file &optional buffer)
(let ((name (file-relative-name file))
(coding-system-for-read git-commits-coding-system))
(vc-do-command nil 'async "git" name "rev-list" "--pretty" "HEAD" "--")))
(vc-do-command buffer 'async "git" name "rev-list" "--pretty" "HEAD" "--")))
(defun vc-git-diff (file &optional rev1 rev2)
(let ((name (file-relative-name file)))
(defun vc-git-diff (file &optional rev1 rev2 buffer)
(let ((name (file-relative-name file))
(buf (or buffer "*vc-diff*")))
(if (and rev1 rev2)
(vc-do-command "*vc-diff*" 0 "git" name "diff-tree" "-p" rev1 rev2 "--")
(vc-do-command "*vc-diff*" 0 "git" name "diff-index" "-p" (or rev1 "HEAD") "--"))
(vc-do-command buf 0 "git" name "diff-tree" "-p" rev1 rev2 "--")
(vc-do-command buf 0 "git" name "diff-index" "-p" (or rev1 "HEAD") "--"))
; git-diff-index doesn't set exit status like diff does
(if (vc-git-workfile-unchanged-p file) 0 1)))