Function: vc-svn-checkin

vc-svn-checkin is a byte-compiled function defined in vc-svn.el.gz.

Signature

(vc-svn-checkin FILES COMMENT &optional EXTRA-ARGS-IGNORED)

Documentation

SVN-specific version of vc-backend-checkin.

Source Code

;; Defined in /usr/src/emacs/lisp/vc/vc-svn.el.gz
(defun vc-svn-checkin (files comment &optional _extra-args-ignored)
  "SVN-specific version of `vc-backend-checkin'."
  (let ((status (apply
                 #'vc-svn-command nil 1 files "ci"
                 (nconc (cons "-m" (log-edit-extract-headers nil comment))
                        (vc-switches 'SVN 'checkin)))))
    (set-buffer "*vc*")
    (goto-char (point-min))
    (unless (equal status 0)
      ;; Check checkin problem.
      (cond
       ((search-forward "Transaction is out of date" nil t)
        (mapc (lambda (file) (vc-file-setprop file 'vc-state 'needs-merge))
	      files)
        (error (substitute-command-keys
                (concat "Up-to-date check failed: "
                        "type \\[vc-next-action] to merge in changes"))))
       (t
        (pop-to-buffer (current-buffer))
        (goto-char (point-min))
        (shrink-window-if-larger-than-buffer)
        (error "Check-in failed"))))
    ;; Update file properties
    ;; (vc-file-setprop
    ;;  file 'vc-working-revision
    ;;  (vc-parse-buffer "^\\(new\\|initial\\) revision: \\([0-9.]+\\)" 2))
    ))