2

In git one could do this:

git clone ssh://[email protected]:2222/home/user/gitRepo/myRepo /home/user/localrepo

to clone a remote repo with ssh and a non-standard port (in this example: 2222).

Can the same be done with Magit2.0? Using the above format fails with an error that Magit is trying to user port 22

6
  • Does the git command work from M-x shell? Does it work from M-x eshell? Does M-x magit-version give the same version as git --version from the command line?
    – npostavs
    Nov 15, 2015 at 20:22
  • Yes. All those things work. The problem is not with git. I can use git from the shell just fine, but I don't know the syntax for magit. Neither the git syntax nor the "tramp" syntax works. Is it my set-up or is it magit? Do you know if magit clone actually works for a non-standard port. If I clone with git in a shell, I can use magit to push and pull from the remote repo just fine. Nov 16, 2015 at 23:48
  • The git syntax should work, because magit-clone simply calls git clone: github.com/magit/magit/blob/2.3.1/lisp/magit-remote.el#L42-L48
    – npostavs
    Nov 17, 2015 at 0:17
  • I noticed the ".git" part of the regexp. What happens if the repository to be cloned doesn't end in ".git"? I know this is a convention for bare repositories, but I sometimes use git for personal work and syncing a laptop to my desktop, and so the origin may not be a bare repository. Could this be the explanation for the failure? Not the odd port, but the not having .git at the end of the repository name? Seems an unnecessary constraint if so. Nov 17, 2015 at 15:52
  • That regexp is only being used for the suggested default destination directory (also, the .git is optional in that regexp).
    – npostavs
    Nov 17, 2015 at 16:11

1 Answer 1

1

The url you type at the Clone repository: prompt is passed verbatim to git, as in git clone "the-url-you-typed". If that doesn't work, then you probably made a typo.

Try typing git clone double-checked-url into a shell. If that works, then M-x magit-clone RET double-checked-url RET /local/path RET would work too.

1
  • Actually I think the failure was because I was trying to create the clone in a directory where I already had a directory with the same name as what the clone was going to create. Instead of telling me this or something like "can't create clone directory exists" it gave me the error "not in a git repository". Perhaps others might be tripped up this indirect error message (which could happen if you tried to clone the same repo twice into the same directory). Mar 15, 2016 at 15:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.