#! /bin/sh # See https://stackoverflow.com/a/77950870/7976758 set -e # To the top-level directory of the current submodule cd "`git rev-parse --show-toplevel`" unset GIT_DIR # If .git/ subdirectory is already here [ -d .git ] && exit 0 if ! [ -f .git ]; then echo "Error: Cannot find gitlink, aborting" >&2 exit 1 fi # Fix core.worktree now git config --unset core.worktree read _gitdir gitpath < .git if [ "$_gitdir" != gitdir: ]; then echo "Error: Bad gitlink, aborting" >&2 exit 1 fi unset _gitdir rm .git exec mv "$gitpath" .git