From: David Aguilar Date: Wed, 29 Mar 2017 07:05:15 GMT Subject: Re: should git-subtree ignore submodules? Message-ID: <20170329070515.znaox4q52q5elkxy@gmail.com> In-Reply-To: <183ca87e-1bc0-080c-3d42-87c689b9f62e@smartaction.com> On Tue, Nov 01, 2016 at 12:41:50PM -0700, Kirill Katsnelson wrote: > "git-subtree add" fails to add the subtree into a repository with > submodules, reporting that the worktree is not clean, while `git status` > says that everything is clean (including submodules). I tracked the problem > down to the command "git index HEAD" returning all submodules as having the > M status: > > $ git diff-index HEAD > :160000 160000 d3812c9318c4d0336897fd2d666be908fa1a7953 > d3812c9318c4d0336897fd2d666be908fa1a7953 M ext/grpc > > $ git --version > git version 2.9.2.windows.1 > > I worked around the problem in my local copy of git-subtree shell script by > adding "--ignore-submodules=all" to the two invocations of `git diff-index` > in the ensure_clean() function (direct link > ). > > I am wondering, is this a defect in git-subtree? To my understanding, the > command should not care about submodules more than ensuring their worktree > is not in the way of new prefix, and that's a separate check. So *even if* > the submodule is modified, this should not be a show stopper for > "git-subtree add". Or am I missing some subtleties? That sounds correct to me; subtree should ignore submodules. -- David