Re: [BUG] git svn accepts to clone an empty SVN repo, but then fails to dcommit
- From
- Eric Wong <normalperson@yhbt.net>
- Date
- Apr 29, 2008, 07:15 UTC
- Message-ID
- <20080429071552.GH24171@muzzle>
- In-Reply-To
- <vpq3apbm8k3.fsf@bauges.imag.fr>
Matthieu Moy <Matthieu.Moy@imag.fr> wrote:
Show 20 quoted lines
> Hi, > > All is in the title ;-). > > The command > > git svn clone (URL of an empty SVN repo here) > > works, creates an empty git repository. I can perform the initial > commit there, but then, "git svn dcommit" says : > > Use of uninitialized value in concatenation (.) or string at /home/moy/local/usr/bin/git-svn line 414. > Committing to ... > Unable to determine upstream SVN information from HEAD history > > I guess a correct management of the initial commit in git-svn would be > hard to implement, but at least, the error message can be improved. > First step is something like the patch below, and better would be for > "git svn clone" to warn that it won't be able to do much with the > cloned repo.
Thanks Matthieu,
It shouldn't be *that* hard to implement being able to start an empty SVN repository from scratch, actually. Of course, there are about a billion other things people have been asking for in git-svn that I keep forgetting to implement.
Acked-by: Eric Wong <normalperson@yhbt.net>
Show 20 quoted lines
> diff --git a/git-svn.perl b/git-svn.perl
> index b864b54..9a70c1e 100755
> --- a/git-svn.perl
> +++ b/git-svn.perl
> @@ -410,10 +410,12 @@ sub cmd_dcommit {
> $head ||= 'HEAD';
> my @refs;
> my ($url, $rev, $uuid, $gs) = working_head_info($head, \@refs);
> - print "Committing to $url ...\n";
> + if ($url) {
> + print "Committing to $url ...\n";
> + }
> unless ($gs) {
> die "Unable to determine upstream SVN information from ",
> - "$head history\n";
> + "$head history.\nPerhaps the repository is empty.";
> }
> my $last_rev;
> my ($linear_refs, $parents) = linearize_history($gs, \@refs);
> -- Eric Wong