git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[BUG] git svn accepts to clone an empty SVN repo, but then fails to dcommit

From
Matthieu Moy <matthieu.moy@imag.fr>
Date
Apr 24, 2008, 18:06 UTC
Message-ID
<vpq3apbm8k3.fsf@bauges.imag.fr>
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.

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);
-- 
Matthieu
Next: Eric Wong
Message 1 of 4 in “[BUG] git svn accepts to clone an empty SVN repo, but then fails to dcommit”
  1. Matthieu MoyApr 24, 2008
  2. Eric WongApr 29, 2008
  3. Better error message for git svn dcommit on empty repository.Matthieu Moy, May 5, 2008
  4. Matthieu MoyMay 5, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.