changeset 56750:5ca81cc9c2de

(cvs-status-checkout): New function. (cvs-status-mode-map): Add a key definition for `cvs-status-checkout'.
author Masatake YAMATO <jet@gyve.org>
date Sun, 22 Aug 2004 04:37:44 +0000
parents e2b42bec36f7
children 72a02133177e
files lisp/ChangeLog lisp/cvs-status.el
diffstat 2 files changed, 26 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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  <jet@gyve.org>
+
+	* 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  <dak@gnu.org>
 
 	* net/ange-ftp.el (ange-ftp-hash-entry-exists-p)
--- 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))