Please describe the problem.

The way git-annex deals with submodules (replacing the .git file in the submodule, with a link to the corresponding gitdir of the submodule) seems to confuse Git when creating another submodule in an annex-init'ed submodule.

What steps will reproduce the problem?

% mkdir some ; cd some; git init
Initialized empty Git repository in /tmp/some/.git/
% git submodule add /src/somegitrepo sub_lvl1
Cloning into 'sub_lvl1'...
done.
% cd sub_lvl1
% git annex init
init  (merging origin/git-annex into git-annex...)
(recording state in git...)
ok
(recording state in git...)
% git submodule add /src/somegitrepo sub_lvl2
Cloning into 'sub_lvl2'...
done.
fatal: Could not chdir to '../../../sub_lvl2': No such file or directory
Unable to checkout submodule 'sub_lvl2'

What version of git-annex are you using? On what operating system?

% apt-cache policy git-annex-standalone
git-annex-standalone:
  Installed: 6.20160213+gitg9597a21-1~ndall+1

Debian stretch, git-annex from NeuroDebian.

Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)

Yes, lots! Using it for some of its original use cases for more than five years now -- I was actually surprised to learn, just now, that the oldest commit in my music repository is exactly 5 years and 6 days old. Thanks for longevity and reliability!

More recently I aim exploring the use of git annex for managing datasets and their dependencies, i.e. going from raw to some processed state over multiple levels, where each level is a useful starting point for some analysis, and each previous level is a dependency (input) to the next. With just one level above "raw" this has massively improved collaboration workflows in student/teacher settings for me. Deeper nesting levels would allow for even more interesting applications, but see above ;-) I think Git seems needlessly confused, but I don't fully grasp what is happening yet. I'd appreciate any insight you may have. Although it is Git that shows the undesired behavior, it seems it is git-annex that ultimately confused it. Hence I came here first.

BTW: What a nice idea to ask for something like this in a bug report.