Have 'vc-clone' return a directory
* lisp/vc/vc-bzr.el (vc-bzr-clone): Return directory. * lisp/vc/vc-git.el (vc-git-clone): Return directory. * lisp/vc/vc-hg.el (vc-hg-clone): Return directory. * lisp/vc/vc-svn.el (vc-svn-clone): Return directory. * lisp/vc/vc.el (vc-clone): Ensure the backend returns directory.
This commit is contained in:
parent
c25e78d802
commit
5ceb88e6eb
5 changed files with 18 additions and 14 deletions
|
@ -533,7 +533,8 @@ in the branch repository (or whose status not be determined)."
|
|||
(vc-message-unresolved-conflicts buffer-file-name)))
|
||||
|
||||
(defun vc-bzr-clone (remote directory)
|
||||
(vc-bzr-command nil 0 '() "branch" remote directory))
|
||||
(vc-bzr-command nil 0 '() "branch" remote directory)
|
||||
directory)
|
||||
|
||||
(defun vc-bzr-version-dirstate (dir)
|
||||
"Try to return as a string the bzr revision ID of directory DIR.
|
||||
|
|
|
@ -1269,7 +1269,8 @@ This prompts for a branch to merge from."
|
|||
(vc-message-unresolved-conflicts buffer-file-name)))
|
||||
|
||||
(defun vc-git-clone (remote directory)
|
||||
(vc-git--out-ok "clone" remote directory))
|
||||
(vc-git--out-ok "clone" remote directory)
|
||||
directory)
|
||||
|
||||
;;; HISTORY FUNCTIONS
|
||||
|
||||
|
|
|
@ -1251,7 +1251,8 @@ REV is the revision to check out into WORKFILE."
|
|||
(vc-message-unresolved-conflicts buffer-file-name)))
|
||||
|
||||
(defun vc-hg-clone (remote directory)
|
||||
(vc-hg-command nil 0 '() "clone" remote directory))
|
||||
(vc-hg-command nil 0 '() "clone" remote directory)
|
||||
directory)
|
||||
|
||||
;; Modeled after the similar function in vc-bzr.el
|
||||
(defun vc-hg-revert (file &optional contents-done)
|
||||
|
|
|
@ -818,7 +818,8 @@ Set file properties accordingly. If FILENAME is non-nil, return its status."
|
|||
(buffer-substring-no-properties (point-min) (1- (point-max))))))
|
||||
|
||||
(defun vc-svn-clone (remote directory)
|
||||
(vc-svn-command nil 0 '() "checkout" remote directory))
|
||||
(vc-svn-command nil 0 '() "checkout" remote directory)
|
||||
(file-name-concat directory "trunk"))
|
||||
|
||||
(provide 'vc-svn)
|
||||
|
||||
|
|
|
@ -588,7 +588,8 @@
|
|||
;; - clone (remote directory)
|
||||
;;
|
||||
;; Attempt to clone a REMOTE repository, into a local DIRECTORY.
|
||||
;; Returns the symbol of the backend used if successful.
|
||||
;; Returns a string with the directory with the contents of the
|
||||
;; repository if successful, otherwise nil.
|
||||
|
||||
;;; Changes from the pre-25.1 API:
|
||||
;;
|
||||
|
@ -3517,24 +3518,23 @@ to provide the `find-revision' operation instead."
|
|||
|
||||
(defun vc-clone (backend remote &optional directory)
|
||||
"Use BACKEND to clone REMOTE into DIRECTORY.
|
||||
If successful, returns the symbol of the backed used to clone.
|
||||
If BACKEND is nil, iterate through every known backend in
|
||||
`vc-handled-backends' until one succeeds."
|
||||
If successful, returns the a string with the directory of the
|
||||
checkout. If BACKEND is nil, iterate through every known backend
|
||||
in `vc-handled-backends' until one succeeds."
|
||||
(unless directory
|
||||
(setq directory default-directory))
|
||||
(if backend
|
||||
(progn
|
||||
(unless (memq backend vc-handled-backends)
|
||||
(error "Unknown VC backend %s" backend))
|
||||
(vc-call-backend backend 'clone remote directory)
|
||||
backend)
|
||||
(vc-call-backend backend 'clone remote directory))
|
||||
(catch 'ok
|
||||
(dolist (backend vc-handled-backends)
|
||||
(ignore-error vc-not-supported
|
||||
(when-let (res (vc-call-backend
|
||||
backend 'clone
|
||||
remote directory))
|
||||
(throw 'ok backend)))))))
|
||||
(when-let ((res (vc-call-backend
|
||||
backend 'clone
|
||||
remote directory)))
|
||||
(throw 'ok res)))))))
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue