# HG changeset patch # User Masatake YAMATO # Date 1093149464 0 # Node ID 5ca81cc9c2de6819e52fcb0f686be672675ab246 # Parent e2b42bec36f774762be47c642a8a449be54e8a34 (cvs-status-checkout): New function. (cvs-status-mode-map): Add a key definition for `cvs-status-checkout'. diff -r e2b42bec36f7 -r 5ca81cc9c2de lisp/ChangeLog --- a/lisp/ChangeLog Sun Aug 22 02:25:16 2004 +0000 +++ b/lisp/ChangeLog Sun Aug 22 04:37:44 2004 +0000 @@ -1,3 +1,8 @@ +2004-08-22 Masatake YAMATO + + * cvs-status.el (cvs-status-checkout): New function. + (cvs-status-mode-map): Add a key definition for `cvs-status-checkout'. + 2004-08-21 David Kastrup * net/ange-ftp.el (ange-ftp-hash-entry-exists-p) diff -r e2b42bec36f7 -r 5ca81cc9c2de lisp/cvs-status.el --- a/lisp/cvs-status.el Sun Aug 22 02:25:16 2004 +0000 +++ b/lisp/cvs-status.el Sun Aug 22 04:37:44 2004 +0000 @@ -48,7 +48,8 @@ ("\M-n" . cvs-status-next) ("\M-p" . cvs-status-prev) ("t" . cvs-status-cvstrees) - ("T" . cvs-status-trees)) + ("T" . cvs-status-trees) + (">" . cvs-status-checkout)) "CVS-Status' keymap." :group 'cvs-status :inherit 'cvs-mode-map) @@ -464,6 +465,25 @@ ;;(sit-for 0) )))))) +(defun-cvs-mode (cvs-status-checkout . NOARGS) (dir) + "Run cvs-checkout against the tag under the point. +The files are stored to DIR." + (interactive + (let* ((module (cvs-get-module)) + (branch (cvs-prefix-get 'cvs-branch-prefix)) + (prompt (format "CVS Checkout Directory for `%s%s': " + module + (if branch (format "(branch: %s)" branch) + "")))) + (list + (read-directory-name prompt + nil default-directory nil)))) + (let ((modules (cvs-string->strings (cvs-get-module))) + (flags (cvs-add-branch-prefix + (cvs-flags-query 'cvs-checkout-flags "cvs checkout flags"))) + (cvs-cvsroot (cvs-get-cvsroot))) + (cvs-checkout modules dir flags))) + (defun cvs-tree-tags-insert (tags prev) (when tags (let* ((tag (car tags))