From 2af7da9f8fb68337030630d88c19db512189babc Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 2 Jul 2016 10:33:18 +0000 Subject: 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 Cc: Christian Couder Signed-off-by: Eric Wong Signed-off-by: Junio C Hamano --- perl/Git/SVN.pm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'perl') diff --git a/perl/Git/SVN.pm b/perl/Git/SVN.pm index bee1e7d1c..018beb85a 100644 --- a/perl/Git/SVN.pm +++ b/perl/Git/SVN.pm @@ -97,8 +97,12 @@ sub resolve_local_globs { "existing: $existing\n", " globbed: $refname\n"; } - my $u = (::cmt_metadata("$refname"))[0] or die - "$refname: no associated commit metadata\n"; + my $u = (::cmt_metadata("$refname"))[0]; + if (!defined($u)) { + warn +"W: $refname: no associated commit metadata from SVN, skipping\n"; + next; + } $u =~ s!^\Q$url\E(/|$)!! or die "$refname: '$url' not found in '$u'\n"; if ($pathname ne $u) { -- cgit v1.2.1