Barry Wardell <> wrote:
> These patches fix a bug which prevented git-svn from working with repositories
> which use gitdir links.
> Changes since v2:
>  - Rebased onto latest master.
>  - Added test case which verifies that the problem has been fixed.
>  - Fixed problems with git svn (init|clone|multi-init).
>  - All git-svn test cases now pass (except two in t9101 which also failed
>    before these patches).

t9101 did not fail for me before your patches.  However I have a
patch on top of your 2/2 which should fix things.

`git rev-parse --show-cdup` outputs nothing if GIT_DIR is set,
so I unset GIT_DIR temporarily.

I'm not sure why --show-cdup behaves like this, though..

Does squashing this on top of your changes fix all your failures?
I plan on squashing both your changes together with the below:

diff --git a/git-svn.perl b/git-svn.perl
index c232798..e5bd292 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -332,11 +332,13 @@ if ($cmd && $cmd =~ /(?:clone|init|multi-init)$/) {
                $ENV{GIT_DIR} = command_oneline([qw/rev-parse --git-dir/]);
        } "Unable to find .git directory\n";
        my $cdup = undef;
+       my $git_dir = delete $ENV{GIT_DIR};
        git_cmd_try {
                $cdup = command_oneline(qw/rev-parse --show-cdup/);
                chomp $cdup if ($cdup);
                $cdup = "." unless ($cdup && length $cdup);
-       } "Already at toplevel, but $ENV{GIT_DIR} not found\n";
+       } "Already at toplevel, but $git_dir not found\n";
+       $ENV{GIT_DIR} = $git_dir;
        chdir $cdup or die "Unable to chdir up to '$cdup'\n";
        $_repository = Git->repository(Repository => $ENV{GIT_DIR});
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to