From 60d9c97adf96533e4f02d3fc2fecec998104e8ea Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 14 Feb 2007 18:47:16 -0800 Subject: git-svn: allow dcommit for those who only fetch from SVM with useSvmProps This allows users to use SVM (SVN::Mirror) to mirror a remote repository to use dcommit to commit to the repository that SVM was mirroring. When dcommit is used in this manner, the automatic fetch + rebase/reset does not happen; in which case the user will have to manually invoke svm/svk, run 'git svn fetch', and finally 'git rebase'. Signed-off-by: Eric Wong diff --git a/git-svn.perl b/git-svn.perl index 201418e..bfe5d6b 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -309,8 +309,7 @@ sub cmd_dcommit { die "Unable to determine upstream SVN information from ", "$head history:\n $ctx\n"; } - my $gs = Git::SVN->find_by_url($url) or - die "Can't determine fetch information for $url\n"; + my $gs = Git::SVN->find_by_url($url); my $last_rev; foreach my $d (@refs) { if (!verify_ref("$d~1")) { @@ -345,6 +344,13 @@ sub cmd_dcommit { } } return if $_dry_run; + unless ($gs) { + warn "Could not determine fetch information for $url\n", + "Will not attempt to fetch and rebase commits.\n", + "This probably means you have useSvmProps and should\n", + "now resync your SVN::Mirror repository.\n"; + return; + } $gs->fetch; # we always want to rebase against the current HEAD, not any # head that was passed to us -- cgit v0.10.2-6-g49f6