Subject: Re: git-svn and branches

From: Sam Vilain <[email-masked]>
Date: Thu, 27 Sep 2007 18:36:08 +1200

Steven Walter wrote:
> Knowing just enough of what git-svn is doing to be dangerous, I
> whipped up a short little patch.  This patch seems to work for the
> common case, and avoids fetching every file from subversion.  It does
> break sometimes, however, and I don't understand why.
>
> Maybe someone with a better grasps of the code can see what I did
> wrong, or suggest a better means to my end?

Try also with the SVN trunk - the do_switch API has recently been added
and it also avoids this excess checkout.  I'm not sure why a solution
like you post isn't used, perhaps Eric can comment further.

Sam.

> diff --git a/git-svn.perl b/git-svn.perl
> index 484b057..1bc92b6 100755
> --- a/git-svn.perl
> +++ b/git-svn.perl
> @@ -1848,9 +1848,10 @@ sub find_parent_branch {
>                                               $self->full_url, $ed)
>                           or die "SVN connection failed somewhere...\n";
>                 } else {
> +                       $self->assert_index_clean($parent);
>                         print STDERR "Following parent with do_update\n";
>                         $ed = SVN::Git::Fetcher->new($self);
> -                       $self->ra->gs_do_update($rev, $rev, $self, $ed)
> +                       $self->ra->gs_do_update($rev, $r0, $self, $ed)
>                           or die "SVN connection failed somewhere...\n";
>                 }
>                 print STDERR "Successfully followed parent\n";