Thread (3 messages) 3 messages, 2 authors, 2017-04-29

Re: git with ssh won't pull submodule

From: Erik Haller <hidden>
Date: 2017-04-29 22:23:19

Ah. I was able to get it to work with the ssh protocol and a relative
path. Thank you for your help.

On Fri, Apr 28, 2017 at 8:45 AM, Chris Packham [off-list ref] wrote:
Hi Erik,

On Fri, Apr 28, 2017 at 11:25 AM, Erik Haller [off-list ref] wrote:
quoted
Getting the following error for a submodule when using git/ssh:

$ git clone --recursive ssh://incense:/home/erik/git/nacl.git
Cloning into 'nacl'...
remote: Counting objects: 32, done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 32 (delta 5), reused 0 (delta 0)
Receiving objects: 100% (32/32), 16.50 KiB | 0 bytes/s, done.
Resolving deltas: 100% (5/5), done.
Submodule 'vendor/golang.org/x/crypto'
(file:///home/erik/git/github.com/golang/crypto.git) registered for
path 'vendor/golang.org/x/crypto'
This is the problem. The .gitmodules entry in nacl.git uses an
absolute path (or URI in this case) for the submodule. Git does
exactly what it should and tries to clone it.

The solution to this is to use a relative path[1] in .gitmodules
(either edit it by hand or do git rm & git submodule add). Note that
by using a relative path it assumes that the parent and submodule
repositories are hosted in the same location (which may or may not be
true for your use-case).

--
[1] - see the 3rd paragraph for the add command in
https://git-scm.com/docs/git-submodule
quoted
Cloning into '/home/erik/go/src/nacl/vendor/golang.org/x/crypto'...
fatal: '/home/erik/git/github.com/golang/crypto.git' does not appear
to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'file:///home/erik/git/github.com/golang/crypto.git'
into submodule path
'/home/erik/go/src/nacl/vendor/golang.org/x/crypto' failed
Failed to clone 'vendor/golang.org/x/crypto'. Retry scheduled
Cloning into '/home/erik/go/src/nacl/vendor/golang.org/x/crypto'...
fatal: '/home/erik/git/github.com/golang/crypto.git' does not appear
to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'file:///home/erik/git/github.com/golang/crypto.git'
into submodule path
'/home/erik/go/src/nacl/vendor/golang.org/x/crypto' failed
Failed to clone 'vendor/golang.org/x/crypto' a second time, aborting


The git clone --recursive file:///home/erik/git/nacl.git works fine
and pulls the submodule "crypto.git". Any ideas?

- The crypto.git is a valid repo.
- I have the correct permissions.
- The crypto.git repo is a git --mirror repo.


git version: 2.11.0
system: linux debian/testing
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help