summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Kaludercic <philipk@posteo.net>2022-10-18 21:21:49 +0200
committerPhilip Kaludercic <philipk@posteo.net>2022-10-18 21:21:49 +0200
commit5ceb88e6ebf14cee3f97b0c7b8557e4b1e23de5b (patch)
treeb16eb2d85dca9823d5e9b5260bfb44c462902e4d
parentc25e78d8020364e1ecae795ffb79b1612bdc0d0b (diff)
downloademacs-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.el3
-rw-r--r--lisp/vc/vc-git.el3
-rw-r--r--lisp/vc/vc-hg.el3
-rw-r--r--lisp/vc/vc-svn.el3
-rw-r--r--lisp/vc/vc.el20
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)))))))