git-svn: warn instead of dying when commit data is missing
It is possible to have refs globbed by git-svn which stores data purely in git; gently skip those instead of dying and assuming user error. ref: http://mid.gmane.org/CALi1mtdtNF_GtzyPTbfb7N51wwxsFY7zm8hsgwxr3tHcZZboyg@mail.gmail.com Suggested-by: Jacob Godserv <jacobgodserv@gmail.com> Cc: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Eric Wong <e@80x24.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Eric Wong committed
Jul 2, 2016 at 10:33 UTC
2af7da9f8fb68337030630d88c19db512189babc
1 file changed
+6
-2
perl/Git/SVN.pm
+6
-2
@@ -97,8 +97,12 @@ sub resolve_local_globs {
97
"existing: $existing\n",
98
" globbed: $refname\n";
99
}
100
- my $u = (::cmt_metadata("$refname"))[0] or die
101
- "$refname: no associated commit metadata\n";
100
+ my $u = (::cmt_metadata("$refname"))[0];
101
+ if (!defined($u)) {
102
+ warn
103
+"W: $refname: no associated commit metadata from SVN, skipping\n";
104
+ next;
105
+ }
106
$u =~ s!^\Q$url\E(/|$)!! or die
107
"$refname: '$url' not found in '$u'\n";
108
if ($pathname ne $u) {