| # Copyright (c) 2008, Nanako Shiraishi |
| # Prime rerere database from existing merge commits |
| USAGE="$me rev-list-args" |
| . "$(git --exec-path)/git-sh-setup" |
| # Remember original branch |
| branch=$(git symbolic-ref -q HEAD) || |
| original_HEAD=$(git rev-parse --verify HEAD) || { |
| echo >&2 "Not on any branch and no commit yet?" |
| mkdir -p "$GIT_DIR/rr-cache" || exit |
| git rev-list --parents "$@" | |
| while read commit parent1 other_parents |
| if test -z "$other_parents" |
| git checkout -q "$parent1^0" |
| if git merge $other_parents >/dev/null 2>&1 |
| if test -s "$GIT_DIR/MERGE_RR" |
| git show -s --pretty=format:"Learning from %h %s" "$commit" |
| git checkout -q $commit -- . |
| git checkout "$original_HEAD" |
| git checkout "${branch#refs/heads/}" |