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 <normalperson@yhbt.net>
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 @@
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 @@
}
}
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