[PATCH 1/3] git-svn: error out from dcommit on a parent-less commit
- From
- Eric Wong <normalperson@yhbt.net>
- Date
- Nov 23, 2006, 22:54 UTC
- Message-ID
- <1164322445180-git-send-email-normalperson@yhbt.net>
dcommit would unconditionally append "~1" to a commit in order to generate a diff. Now we generate a meaningful error message if we try to generate an impossible diff.
Signed-off-by: Eric Wong <normalperson@yhbt.net> --- git-svn.perl | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/git-svn.perl b/git-svn.perl index 80b7b87..f0db4af 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -589,6 +589,13 @@ sub dcommit { chomp(my @refs = safe_qx(qw/git-rev-list --no-merges/, "$gs..HEAD")); my $last_rev; foreach my $d (reverse @refs) { + if (quiet_run('git-rev-parse','--verify',"$d~1") != 0) { + die "Commit $d\n", + "has no parent commit, and therefore ", + "nothing to diff against.\n", + "You should be working from a repository ", + "originally created by git-svn\n"; + } unless (defined $last_rev) { (undef, $last_rev, undef) = cmt_metadata("$d~1"); unless (defined $last_rev) {
-- 1.4.4.1.g22a08