(vc-p4-checkin): Multiple files commit.
[git-p4: depot-paths = "//guest/Ben_Key/vc-p4/,//guest/jonathan_kamens/vc-p4/,//guest/magnus_henoch/vc-p4/": change = 7269]
This commit is contained in:
parent
c68de18b24
commit
97229d0b82
1 changed files with 10 additions and 11 deletions
19
vc-p4.el
19
vc-p4.el
|
@ -263,20 +263,18 @@ administered by Perforce."
|
||||||
(p4-lowlevel-print file rev buffer t))
|
(p4-lowlevel-print file rev buffer t))
|
||||||
|
|
||||||
(defun vc-p4-checkin (files rev comment)
|
(defun vc-p4-checkin (files rev comment)
|
||||||
"Check FILE into Perforce. Error if REV is non-nil. Check in with
|
"Check FILES into Perforce. Error if REV is non-nil. Check in with
|
||||||
comment COMMENT."
|
comment COMMENT."
|
||||||
(if rev
|
(if rev
|
||||||
(error "Can't specify revision for Perforce checkin."))
|
(error "Can't specify revision for Perforce checkin."))
|
||||||
;; In emacs-23 vc-checkin has a list of files as a parameter, before
|
(let* (;; XXX: default-directory? this should work for most (all?) cases
|
||||||
;; it used to be just a single file. We don't support that interface
|
(default-directory (file-name-directory (car files)))
|
||||||
;; yet, so just use the first file in the list.
|
|
||||||
(let* ((file (if (listp files) (car files) files))
|
|
||||||
(default-directory (file-name-directory file))
|
|
||||||
(change-buffer (p4-lowlevel-change))
|
(change-buffer (p4-lowlevel-change))
|
||||||
(indent-tabs-mode 1)
|
(indent-tabs-mode 1)
|
||||||
insertion-start change-number)
|
insertion-start change-number)
|
||||||
|
(dolist (file files)
|
||||||
(if (vc-p4-has-unresolved-conflicts-p file)
|
(if (vc-p4-has-unresolved-conflicts-p file)
|
||||||
(error "File %s has unresolved conflicts" file))
|
(error "File %s has unresolved conflicts" file)))
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(set-buffer change-buffer)
|
(set-buffer change-buffer)
|
||||||
(goto-char (point-min))
|
(goto-char (point-min))
|
||||||
|
@ -287,13 +285,14 @@ comment COMMENT."
|
||||||
(indent-rigidly insertion-start (point) 8)
|
(indent-rigidly insertion-start (point) 8)
|
||||||
(re-search-forward "^Files:\\s-*\n")
|
(re-search-forward "^Files:\\s-*\n")
|
||||||
(delete-region (point) (point-max))
|
(delete-region (point) (point-max))
|
||||||
(insert "\t" (vc-file-getprop file 'vc-p4-depot-file) "\n")
|
(dolist (file files)
|
||||||
|
(insert "\t" (vc-file-getprop file 'vc-p4-depot-file) "\n"))
|
||||||
(setq change-number (p4-lowlevel-change (current-buffer) t))
|
(setq change-number (p4-lowlevel-change (current-buffer) t))
|
||||||
(p4-lowlevel-change (current-buffer) change-number)
|
(p4-lowlevel-change (current-buffer) change-number)
|
||||||
(p4-lowlevel-submit (current-buffer))
|
(p4-lowlevel-submit (current-buffer))
|
||||||
; Update its properties
|
; Update its properties
|
||||||
(vc-p4-state file nil t)
|
(dolist (file files)
|
||||||
(vc-mode-line file))))
|
(vc-p4-state file nil t)))))
|
||||||
|
|
||||||
;;; FIXME: this should not have a DESTFILE argument
|
;;; FIXME: this should not have a DESTFILE argument
|
||||||
(defun vc-p4-checkout (file &optional editable rev destfile)
|
(defun vc-p4-checkout (file &optional editable rev destfile)
|
||||||
|
|
Loading…
Reference in a new issue