+sub repoconfig {
+ my $fh;
+ my $val;
+ eval {
+ open $fh, '-|', 'git-repo-config', '--get', 'merge.summary'
+ or die "$!";
+ ($val) = <$fh>;
+ close $fh;
+ };
+ return $val;
+}
+
+sub current_branch {
+ my $fh;
+ open $fh, '-|', 'git-symbolic-ref', 'HEAD' or die "$!";
+ my ($bra) = <$fh>;
+ chomp($bra);
+ $bra =~ s|^refs/heads/||;
+ if ($bra ne 'master') {
+ $bra = " into $bra";
+ } else {
+ $bra = "";
+ }
+
+ return $bra;
+}
+
+sub shortlog {
+ my ($tip) = @_;
+ my ($fh, @result);
+ open $fh, '-|', ('git-log', '--topo-order',
+ '--pretty=oneline', $tip, '^HEAD')
+ or die "$!";
+ while (<$fh>) {
+ s/^[0-9a-f]{40}\s+//;
+ push @result, $_;
+ }
+ close $fh or die "$!";
+ return @result;
+}
+
+my @origin = ();