From 8b38ce2038e41c31aba39cd8fabfade7b1c8892b Mon Sep 17 00:00:00 2001 From: Dan Nicolaescu Date: Mon, 23 Jul 2007 20:51:02 +0000 Subject: [PATCH] (vc-git-delete-file, vc-git-rename-file): New functions. (vc-git-find-version): Use the result of ls-files as a parameter for cat-file --- lisp/ChangeLog | 6 ++++++ lisp/vc-git.el | 27 +++++++++++++-------------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1c2cb6e9529..09572aa1cd5 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2007-07-23 Alexandre Julliard + + * vc-git.el (vc-git-delete-file, vc-git-rename-file): New functions. + (vc-git-find-version): Use the result of ls-files as a parameter + for cat-file + 2007-07-23 Michael Albinus * net/tramp.el (tramp-perl-file-attributes) diff --git a/lisp/vc-git.el b/lisp/vc-git.el index f1a9d009f12..d65d8428e61 100644 --- a/lisp/vc-git.el +++ b/lisp/vc-git.el @@ -2,7 +2,7 @@ ;; Copyright (C) 2006, 2007 Free Software Foundation, Inc. -;; Author: Alexandre Julliard +;; Author: Alexandre Julliard ;; Keywords: tools ;; This file is part of GNU Emacs. @@ -101,8 +101,8 @@ ;; - next-version (file rev) ?? ;; - check-headers () ?? ;; - clear-headers () ?? -;; - delete-file (file) COMMENTED OUT, VERIFY IF CORRECT -;; - rename-file (old new) COMMENTED OUT, VERIFY IF CORRECT +;; - delete-file (file) OK +;; - rename-file (old new) OK ;; - find-file-hook () PROBABLY NOT NEEDED ;; - find-file-not-found-hook () PROBABLY NOT NEEDED @@ -237,10 +237,14 @@ (defun vc-git-find-version (file rev buffer) (let ((coding-system-for-read 'binary) - (coding-system-for-write 'binary)) + (coding-system-for-write 'binary) + (fullname (substring + (vc-git--run-command-string + file "ls-files" "-z" "--full-name" "--") + 0 -1))) (vc-git-command buffer 0 - (concat (if rev rev "HEAD") ":" file) "cat-file" "blob"))) + (concat (if rev rev "HEAD") ":" fullname) "cat-file" "blob"))) (defun vc-git-checkout (file &optional editable rev) (vc-git-command nil0 file "checkout" (or rev "HEAD"))) @@ -383,16 +387,11 @@ (point) (progn (forward-line 1) (1- (point)))))))))) -;; XXX verify this is correct -;; (defun vc-git-delete-file (file) -;; (condition-case () -;; (delete-file file) -;; (file-error nil)) -;; (vc-git-command nil 0 file "update-index" "--remove")) +(defun vc-git-delete-file (file) + (vc-git-command nil 0 file "rm" "-f" "--")) -;; XXX verify this is correct -;; (defun vc-git-rename-file (old new) -;; (vc-git-command nil 0 new old "mv")) +(defun vc-git-rename-file (old new) + (vc-git-command nil 0 (list old new) "mv" "-f" "--")) ;; Internal commands