summaryrefslogtreecommitdiff
path: root/lisp/cvs-status.el
diff options
context:
space:
mode:
authorMasatake YAMATO <jet@gyve.org>2004-08-22 04:37:44 +0000
committerMasatake YAMATO <jet@gyve.org>2004-08-22 04:37:44 +0000
commit44feddcfb1ce96226b9942dda5ff1bfcbbe8ec89 (patch)
tree507fcf212b8d50763877974b3fe1c55a7f48b617 /lisp/cvs-status.el
parent2935e78878ef7868882c2dd3fe54fa61d4643122 (diff)
downloademacs-44feddcfb1ce96226b9942dda5ff1bfcbbe8ec89.tar.gz
(cvs-status-checkout): New function.
(cvs-status-mode-map): Add a key definition for `cvs-status-checkout'.
Diffstat (limited to 'lisp/cvs-status.el')
-rw-r--r--lisp/cvs-status.el22
1 files changed, 21 insertions, 1 deletions
diff --git a/lisp/cvs-status.el b/lisp/cvs-status.el
index b03182d87e4..b00984b60f1 100644
--- a/lisp/cvs-status.el
+++ b/lisp/cvs-status.el
@@ -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 @@ Optional prefix ARG chooses between two representations."
;;(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))