diff options
Diffstat (limited to 'git-pull.sh')
-rwxr-xr-x | git-pull.sh | 81 |
1 files changed, 5 insertions, 76 deletions
diff --git a/git-pull.sh b/git-pull.sh index 0c137f197..71327a232 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -57,81 +57,10 @@ then fi merge_head=$(sed -e 's/ .*//' "$GIT_DIR"/FETCH_HEAD | tr '\012' ' ') - -case "$merge_head" in -?*' '?*) - merge_name="Octopus merge of "$( - perl -e ' - my @src; - my %src; - - sub andjoin { - my ($label, $labels, $stuff, $src) = @_; - my $l = scalar @$stuff; - my $m = ""; - if ($l == 0) { - return ""; - } - if ($l == 1) { - $m = "$label $stuff->[0]"; - } - else { - $m = ("$labels " . - join (", ", @{$stuff}[0..$l-2]) . - " and $stuff->[-1]"); - } - if ($src ne ".") { - $m .= " from $src"; - } - return $m; - } - - while (<>) { - my ($bname, $tname, $gname, $src); - s/^[0-9a-f]* //; - if (s/ of (.*)$//) { - $src = $1; - } else { - $src = "."; - } - if (! exists $src{$src}) { - push @src, $src; - $src{$src} = { BRANCH => [], TAG => [], GENERIC => [] }; - } - if (/^branch (.*)$/) { - push @{$src{$src}{BRANCH}}, $1; - } - elsif (/^tag (.*)$/) { - push @{$src{$src}{TAG}}, $1; - } - else { - push @{$src{$src}{GENERIC}}, $1; - } - } - my @msg; - for my $src (@src) { - my $bag = $src{$src}{BRANCH}; - if (@{$bag}) { - push @msg, andjoin("branch", "branches", $bag, $src); - } - $bag = $src{$src}{TAG}; - if (@{$bag}) { - push @msg, andjoin("tag", "tags", $bag, $src); - } - $bag = $src{$src}{GENERIC}; - if (@{$bag}) { - push @msg, andjoin("commit", "commits", $bag, $src); - } - } - print join("; ", @msg); - ' "$GIT_DIR"/FETCH_HEAD - ) - ;; -*) - merge_name="Merge "$(sed -e 's/^[0-9a-f]* //' \ - "$GIT_DIR"/FETCH_HEAD) - ;; -esac +merge_name=$( + perl -e 'print join("; ", map { chomp; s/^[0-9a-f]* //; $_ } <>)' \ + "$GIT_DIR"/FETCH_HEAD +) case "$merge_head" in '') @@ -140,4 +69,4 @@ case "$merge_head" in ;; esac -git-merge $no_summary $strategy_args "$merge_name" HEAD $merge_head +git-merge $no_summary $strategy_args "Merge $merge_name" HEAD $merge_head |