diff options
author | Philip Kaludercic <philipk@posteo.net> | 2022-10-18 21:21:49 +0200 |
---|---|---|
committer | Philip Kaludercic <philipk@posteo.net> | 2022-10-18 21:21:49 +0200 |
commit | 5ceb88e6ebf14cee3f97b0c7b8557e4b1e23de5b (patch) | |
tree | b16eb2d85dca9823d5e9b5260bfb44c462902e4d | |
parent | c25e78d8020364e1ecae795ffb79b1612bdc0d0b (diff) | |
download | emacs-5ceb88e6ebf14cee3f97b0c7b8557e4b1e23de5b.tar.gz |
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.
-rw-r--r-- | lisp/vc/vc-bzr.el | 3 | ||||
-rw-r--r-- | lisp/vc/vc-git.el | 3 | ||||
-rw-r--r-- | lisp/vc/vc-hg.el | 3 | ||||
-rw-r--r-- | lisp/vc/vc-svn.el | 3 | ||||
-rw-r--r-- | lisp/vc/vc.el | 20 |
5 files changed, 18 insertions, 14 deletions
diff --git a/lisp/vc/vc-bzr.el b/lisp/vc/vc-bzr.el index 307c5fa500d..5e826b9a286 100644 --- a/lisp/vc/vc-bzr.el +++ b/lisp/vc/vc-bzr.el @@ -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. diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index d63d755a287..366ab9a4f7a 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el @@ -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 diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el index ee54f34201c..3ea4c5d32cd 100644 --- a/lisp/vc/vc-hg.el +++ b/lisp/vc/vc-hg.el @@ -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) diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el index 1aebf30c2a3..ae6884bbaea 100644 --- a/lisp/vc/vc-svn.el +++ b/lisp/vc/vc-svn.el @@ -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) diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index 49bb7a27aad..76b8970b5b4 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -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))))))) |