From 44feddcfb1ce96226b9942dda5ff1bfcbbe8ec89 Mon Sep 17 00:00:00 2001 From: Masatake YAMATO Date: Sun, 22 Aug 2004 04:37:44 +0000 Subject: [PATCH] (cvs-status-checkout): New function. (cvs-status-mode-map): Add a key definition for `cvs-status-checkout'. --- lisp/ChangeLog | 5 +++++ lisp/cvs-status.el | 22 +++++++++++++++++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3f6a8ced5c4..b149e64c024 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -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 --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)) -- 2.39.2