tryat_gitfetchinfo () {
git_manip_play
+
if test -d "$b.edit"; then
cp -a "$b.edit"/. "$play"/.
else
tar -C $play -f - <&3 -x
exec 3<&-
fi
- local innerwd=$play/*
+
+ local innerwd="$(echo $play/*)"
+
+ git for-each-ref --format='%(refname)' refs/remotes >$play/l
+ perl -ne '
+ chomp;
+ next unless m#^refs/remotes/([^/]+)/#;
+ my $old = $_;
+ my $ab = $1;
+ my $rhs = $'\'';
+ my @ab = split /\+/, $ab;
+ next unless @ab == 2;
+ next unless grep { $_ eq "'"$remote"'" } @ab;
+ print "update refs/remotes/$_/$rhs $old\n" or die $! foreach @ab;
+ print "delete $old\n" or die $!;
+ ' <$play/l >$play/unmerge
+ git update-ref --stdin <$play/unmerge
+
git remote remove "$remote" 2>/dev/null ||:
git remote add "$remote" $innerwd
git fetch --no-tags -p "$remote" \