From: Ian Jackson Date: Sat, 2 Jul 2016 10:33:26 +0000 (+0100) Subject: Test suite: tartree-edit: gitfetchinfo: Be a bit more careful X-Git-Tag: archive/debian/2.0~349 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=eedaadbe6baffb2217fc91c6a97bd2d5d71f9da0 Test suite: tartree-edit: gitfetchinfo: Be a bit more careful * Turn on perl warnings * Use strict * When removing old merged refs, insist that we aren't handling A+A --- diff --git a/tests/tartree-edit b/tests/tartree-edit index cecc142c..cdaade35 100755 --- a/tests/tartree-edit +++ b/tests/tartree-edit @@ -128,7 +128,8 @@ tryat_gitfetchinfo () { local innerwd="$(echo $play/*)" git for-each-ref --format='%(refname)' refs/remotes >$play/l - perl -ne ' + perl -w -ne ' + use strict; chomp; next unless m#^refs/remotes/([^/]+)/#; my $old = $_; @@ -136,7 +137,8 @@ tryat_gitfetchinfo () { my $rhs = $'\''; my @ab = split /\+/, $ab; next unless @ab == 2; - next unless grep { $_ eq "'"$remote"'" } @ab; + next unless (grep { $_ eq "'"$remote"'" } @ab) == 1; + $remerge{"@ab"} = 1; print "update refs/remotes/$_/$rhs $old\n" or die $! foreach @ab; print "delete $old\n" or die $!; ' <$play/l >$play/unmerge