#!/bin/sh # # Show refs and their recent commits. # . git-sh-setup-script || die "Not a git repository" headref=`readlink $GIT_DIR/HEAD` case "$#" in 0) set x `cd $GIT_DIR/refs && find heads -type f -print | sed -e 's|heads/||' | sort` shift ;; esac hh= in= for ref do case "/$headref" in */"$ref") H='*' ;; *) H='!' ;; esac h=`git-rev-parse --verify "$ref^0"` || exit l=`git-log-script --max-count=1 --pretty=oneline "$h" | sed -e 's/^[^ ]* //'` hh="$hh $h" echo "$in$H [$ref] $l" in="$in " done set x $hh shift git-rev-list --pretty=oneline "$@" | while read v l do in='' for h do b=`git-merge-base $h $v` case "$b" in $v) in="$in+" ;; *) in="$in " ;; esac done echo "$in $l" case "$in" in *' '*) ;; *) break ;; esac done