Function: cvs-mode-add

cvs-mode-add is an interactive and byte-compiled function defined in pcvs.el.gz.

Signature

(cvs-mode-add FLAGS)

Documentation

Add marked files to the cvs repository.

With prefix argument, prompt for cvs flags.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/vc/pcvs.el.gz
(defun-cvs-mode (cvs-mode-add . SIMPLE) (flags)
  "Add marked files to the cvs repository.
With prefix argument, prompt for cvs flags."
  (interactive (list (cvs-flags-query 'cvs-add-flags "cvs add flags")))
  (let ((fis (cvs-mode-marked 'add))
	(needdesc nil) (dirs nil))
    ;; Find directories and look for fis needing a description.
    (dolist (fi fis)
      (cond
       ((file-directory-p (cvs-fileinfo->full-name fi)) (push fi dirs))
       ((eq (cvs-fileinfo->type fi) 'UNKNOWN) (setq needdesc t))))
    ;; Prompt for description if necessary.
    (let* ((msg (if (and needdesc
			 (or current-prefix-arg (not cvs-add-default-message)))
		    (read-from-minibuffer "Enter description: ")
		  (or cvs-add-default-message "")))
	   (flags `("-m" ,msg ,@flags))
	   (postproc
	    ;; Setup postprocessing for the directory entries.
	    (when dirs
              (lambda ()
                (cvs-run-process (list "-n" "update")
				 dirs
				 (lambda () (cvs-parse-process t)))
		(cvs-mark-fis-dead dirs)))))
      (cvs-mode-run "add" flags fis :postproc postproc))))