It's a simple matter of opening the directory specified in the gitfile. Signed-off-by: Ramkumar Ramachandra <artagnon@xxxxxxxxx> --- git-svn.perl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/git-svn.perl b/git-svn.perl index 6aa156c..8642783 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -337,6 +337,10 @@ for (my $i = 0; $i < @ARGV; $i++) { # make sure we're always running at the top-level working directory if ($cmd && $cmd =~ /(?:clone|init|multi-init)$/) { $ENV{GIT_DIR} ||= ".git"; + # catch the submodule case + if (open(my $fh, '<', $ENV{GIT_DIR})) { + $ENV{GIT_DIR} = $1 if <$fh> =~ /^gitdir: (.+)$/; + } } else { my ($git_dir, $cdup); git_cmd_try { -- 2.2.1 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html