From: Junio C Hamano Date: Sun, 06 Jul 2008 06:27:14 GMT Subject: Re: [PATCH] fix "git-submodule add a/b/c/repository" Message-ID: <7vd4lro7ct.fsf@gitster.siamese.dyndns.org> In-Reply-To: <20080701150025.GD5852@joyeux> Sylvain Joyeux writes: > The 'master' version of git-submodule.sh fails to see that > a/b/c/repository is an already existing repository and messes up the > whole thing. The following patch fixes that. > -- > Sylvain > >>From 2bca2e17a01cd81ce30f81750583ab943ab57ff0 Mon Sep 17 00:00:00 2001 > From: Sylvain Joyeux > Date: Tue, 1 Jul 2008 16:45:04 +0200 > Subject: [PATCH] fix submodule add for non-toplevel in-project directories > > This patch fixes git-submodule add for submodules that > already exist in the current package tree, in a folder > which is not at toplevel, i.e.: > > git submodule add a/b/c/repository Which one is the commit log message ;-)? Perhaps Documentation/SubmittingPatches needs a review? > +test_expect_success 'adding an already-existing repository deep in the directory hierarchy' ' > + > + mkdir dir0 && > + mkdir dir0/dir1 && > + git clone init dir0/dir1/init && > + git-submodule add dir0/dir1/init && > + git-submodule status | grep "dir0/dir1/init" > +' I am not sure if this is fixing a sane use case. "submodule add" is documented to take: 'git submodule' [--quiet] add [-b branch] [--] [] and you are adding at dir0/dir1/init a submodule that will interact with "init" repository, so shouldn't that command line be something like: git submodule add init dir0/dir1/init ??? Confused..