If a submodule isn't toplevel, git-annex breaks **What steps will reproduce the problem?** Make two non-empty repositories: mkdir submod cd submod git init touch README && git add README git commit -a -m "first import of submodule" cd .. mkdir test cd test git init touch README && git add README git commit -a -m "first import of master" Add first repository as a non-toplevel submodule: git submodule add ../submod lib/submod Setup git-annex for the submodule inside the other repository: cd lib/submod git annex init **What is the expected output? What do you see instead?** Expected: init ok (Recording state in git...) Got: init fatal: Could not switch to '../../../../lib': No such file or directory git-annex: git config [Param "annex.uuid",Param "55D974D1-73E8-489E-B454-03D164664C82"] failed **What version of git-annex are you using? On what operating system?** 3.20121011 compiled from git on Mac OS X 10.8 **Please provide any additional information below.** * git-annex read the path from the "worktree" variable in the git config. * The git config for a submodule is storen in the main repository, e.g. "../../.git/modules/lib/submod/config" * The path in that config is relative to the config file: "worktree = ../../../../lib/submod" * Git-annex expect the path to be relative to the current directory, which is why it fails. > Impressive analysis, thanks. I've fixed handling of relative > core.worktree. [[done]] --[[Joey]]