Re: Adding nested repository with slash adds files instead of gitlink
From: Brandon Williams <hidden>
Date: 2018-06-18 18:12:21
On 06/18, Duy Nguyen wrote:
On Mon, Jun 18, 2018 at 1:23 PM Heiko Voigt [off-list ref] wrote:quoted
Hi, I just discovered that when you have a slash at the end of a nested repository, the files contained in the repository get added instead of the gitlink. I found this when I was adding a submodule and wanted to commit a small change before that. You get the slash by using tab autocompletion. Here is a recipe to reproduce: mkdir test cd test; git init touch a; git add a; git commit -m a mkdir ../test.git; (cd ../test.git; git init --bare) git remote add origin ../test.git git push origin master git submodule add ../test.git submodule git reset git add submodule/ Now instead of just submodule gitlink there is an entry for submodule/a in the index. I just thought I put this out there. Will have a look if I find the time to cook up a proper testcase and investigate.This sounds like the submodule specific code in pathspec.c, which has been replaced with something else in bw/pathspec-sans-the-index. If you have time, try a version without those changes (e.g. v2.13 or before) to see if it's a possible culprit.
I just tested this with v2.13 and saw the same issue. I don't actually think this ever worked in the way you want it to Heiko. Maybe git add needs to be taught to be more intelligent when trying to add a submodule which doesn't exist in the index. -- Brandon Williams