diff options
author | Dan Nicolaescu <dann@ics.uci.edu> | 2007-07-23 20:51:02 +0000 |
---|---|---|
committer | Dan Nicolaescu <dann@ics.uci.edu> | 2007-07-23 20:51:02 +0000 |
commit | 8b38ce2038e41c31aba39cd8fabfade7b1c8892b (patch) | |
tree | c90092a5ddba27ce3b2c7800847dbdbc1ded67ec | |
parent | d4443a0d7d0f65bd73a2059a46cb9992ffbfd779 (diff) | |
download | emacs-8b38ce2038e41c31aba39cd8fabfade7b1c8892b.tar.gz |
(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
-rw-r--r-- | lisp/ChangeLog | 6 | ||||
-rw-r--r-- | 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 <julliard@winehq.org> + + * 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 <michael.albinus@gmx.de> * 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 <julliard@winehq.org> ;; 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 |