Function: vc-sccs-checkout

vc-sccs-checkout is a byte-compiled function defined in vc-sccs.el.gz.

Signature

(vc-sccs-checkout FILE &optional REV)

Documentation

Retrieve a copy of a saved revision of SCCS controlled FILE.

If FILE is a directory, all version-controlled files beneath are checked out. EDITABLE non-nil means that the file should be writable and locked. REV is the revision to check out.

Source Code

;; Defined in /usr/src/emacs/lisp/vc/vc-sccs.el.gz
(defun vc-sccs-checkout (file &optional rev)
  "Retrieve a copy of a saved revision of SCCS controlled FILE.
If FILE is a directory, all version-controlled files beneath are checked out.
EDITABLE non-nil means that the file should be writable and
locked.  REV is the revision to check out."
  (if (file-directory-p file)
      (mapc #'vc-sccs-checkout (vc-expand-dirs (list file) 'SCCS))
    (let ((file-buffer (get-file-buffer file))
	  switches)
      (message "Checking out %s..." file)
      (save-excursion
	;; Change buffers to get local value of vc-checkout-switches.
	(if file-buffer (set-buffer file-buffer))
	(setq switches (vc-switches 'SCCS 'checkout))
	;; Save this buffer's default-directory
	;; and use save-excursion to make sure it is restored
	;; in the same buffer it was saved in.
	(let ((default-directory default-directory))
	  (save-excursion
	    ;; Adjust the default-directory so that the check-out creates
	    ;; the file in the right place.
	    (setq default-directory (file-name-directory file))

	    (and rev (or (string= rev "")
			 (not (stringp rev)))
		 (setq rev nil))
	    (apply #'vc-sccs-do-command nil 0 "get" (vc-master-name file)
		   "-e"
		   (and rev (concat "-r" (vc-sccs-lookup-triple file rev)))
		   switches))))
      (message "Checking out %s...done" file))))