This goes on top of sb/submodule-embed-gitdir. When the absorbing of a git dir fails, try to recover into a sane state, i.e. try to undo the move of the git dir. Thanks, Stefan Stefan Beller (2): dir.c: split up connect_work_tree_and_git_dir dir.c: add retry logic to relocate_gitdir dir.c | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++------- dir.h | 6 ++-- submodule.c | 3 +- 3 files changed, 110 insertions(+), 17 deletions(-) -- 2.11.0.rc2.53.gb7b3fba.dirty