aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/pcvs.el
diff options
context:
space:
mode:
authorStefan Monnier2005-04-03 21:18:51 +0000
committerStefan Monnier2005-04-03 21:18:51 +0000
commit59bb94103aa6a64da5edfe7aaba79fb9fcb1c1ee (patch)
treed7c429b04461b676c96c7635824bf9f1ccbfbcbd /lisp/pcvs.el
parent0c0a9c995ce3f99e0bfe7c25936fe825960cfadf (diff)
downloademacs-59bb94103aa6a64da5edfe7aaba79fb9fcb1c1ee.tar.gz
emacs-59bb94103aa6a64da5edfe7aaba79fb9fcb1c1ee.zip
(cvs-checkout): Prompt for cvsroot as well.
Diffstat (limited to 'lisp/pcvs.el')
-rw-r--r--lisp/pcvs.el23
1 files changed, 14 insertions, 9 deletions
diff --git a/lisp/pcvs.el b/lisp/pcvs.el
index 7330960b93e..e7139d9cfba 100644
--- a/lisp/pcvs.el
+++ b/lisp/pcvs.el
@@ -918,23 +918,28 @@ This usually doesn't really work but is a handy initval in a prompt."
918;;;; 918;;;;
919 919
920;;;###autoload 920;;;###autoload
921(defun cvs-checkout (modules dir flags) 921(defun cvs-checkout (modules dir flags &optional root)
922 "Run a 'cvs checkout MODULES' in DIR. 922 "Run a 'cvs checkout MODULES' in DIR.
923Feed the output to a *cvs* buffer, display it in the current window, 923Feed the output to a *cvs* buffer, display it in the current window,
924and run `cvs-mode' on it. 924and run `cvs-mode' on it.
925 925
926With a prefix argument, prompt for cvs FLAGS to use." 926With a prefix argument, prompt for cvs FLAGS to use."
927 (interactive 927 (interactive
928 (list (cvs-string->strings (read-string "Module(s): " (cvs-get-module))) 928 (let ((root (cvs-get-cvsroot)))
929 (read-directory-name "CVS Checkout Directory: " 929 (if (or (null root) current-prefix-arg)
930 nil default-directory nil) 930 (setq root (read-string "CVS Root: ")))
931 (cvs-add-branch-prefix 931 (list (cvs-string->strings (read-string "Module(s): " (cvs-get-module)))
932 (cvs-flags-query 'cvs-checkout-flags "cvs checkout flags")))) 932 (read-directory-name "CVS Checkout Directory: "
933 nil default-directory nil)
934 (cvs-add-branch-prefix
935 (cvs-flags-query 'cvs-checkout-flags "cvs checkout flags"))
936 root)))
933 (when (eq flags t) 937 (when (eq flags t)
934 (setf flags (cvs-flags-query 'cvs-checkout-flags nil 'noquery))) 938 (setf flags (cvs-flags-query 'cvs-checkout-flags nil 'noquery)))
935 (cvs-cmd-do "checkout" (or dir default-directory) 939 (let ((cvs-cvsroot root))
936 (append flags modules) nil 'new 940 (cvs-cmd-do "checkout" (or dir default-directory)
937 :noexist t)) 941 (append flags modules) nil 'new
942 :noexist t)))
938 943
939(defun-cvs-mode (cvs-mode-checkout . NOARGS) (dir) 944(defun-cvs-mode (cvs-mode-checkout . NOARGS) (dir)
940 "Run cvs checkout against the current branch. 945 "Run cvs checkout against the current branch.