Re: [PATCH] fix "git-submodule add a/b/c/repository"
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:54
Mark Levedahl [off-list ref] writes:
Sylvain Joyeux wrote:quoted
Redo the prep work, the clone and now git submodule add dir0/dir1/init (i.e. don't expect dir0/dir1/init to be the clone of ./init, that was just a shortcut for the test. Expect it to be a clone of "something, somewhere")Per the man-page, git submodule [--quiet] add [-b branch] [--] <repository> [<path>] which means, that the *repository* url is mandatory, the path is optional. What you specifically asked git-submodule to do was to *clone* from dir0/dir1/init, and because you gave no path to put the submodule in, git-submodule deduced the name as "init", and cloned to there.
I'd like to hear clarifications on two counts, please?
(1) If Sylvain wanted to have that appear at dir0/dir1/init not init,
would it have been sufficient to give that path twice (once for
<repository> and another for <path> parameter) to make things work as
expected?
(2) Is it generally considered a sane use case to specify an existing
repository inside the working tree of a superproject as a submodule
using "git submodule add" like Sylvain's example did?
I would have understood if the command were "git add dir0/dir1/init",
but I have this vague recolleciton that "git submodule add" is about
telling our repository about a submodule that comes from _outside_.