I\'m splitting out a Git repository using the --subdirectory-filter option of filter-branch which is working great except it pulls everything up to the root of the repository.>
I found an answer here which does the trick.
The command:
git filter-branch -f --index-filter 'git ls-files -s \ | sed "s-\t-&ABC/DEF/-" \ | GIT_INDEX_FILE=$GIT_INDEX_FILE.new git update-index --index-info \ && mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE'
works perfectly