- (if workfile
- ;; Some SCCS implementations allow checking out directly to a
- ;; file using the -G option, but then some don't so use the
- ;; least common denominator approach and use the -p option
- ;; ala RCS.
- (let ((vc-modes (logior (file-modes (vc-name file))
- (if editable 128 0)))
- (failed t))
- (unwind-protect
- (progn
- (let ((coding-system-for-read 'no-conversion)
- (coding-system-for-write 'no-conversion))
- (with-temp-file filename
- (apply 'vc-do-command
- (current-buffer) 0 "get" (vc-name file)
- "-s" ;; suppress diagnostic output
- (if editable "-e")
- "-p"
- (and rev
- (concat "-r"
- (vc-sccs-lookup-triple file rev)))
- switches)))
- (set-file-modes filename
- (logior (file-modes (vc-name file))
- (if editable 128 0)))
- (setq failed nil))
- (and failed (file-exists-p filename)
- (delete-file filename))))
- (apply 'vc-do-command nil 0 "get" (vc-name file)
- (if editable "-e")
- (and rev (concat "-r" (vc-sccs-lookup-triple file rev)))
- switches)))))
- (message "Checking out %s...done" filename)))
+ (apply 'vc-do-command nil 0 "get" (vc-name file)
+ (if editable "-e")
+ (and rev (concat "-r" (vc-sccs-lookup-triple file rev)))
+ switches))))
+ (message "Checking out %s...done" file)))