git-prune-scripton commit [PATCH] plug memory leak in diff.c::diff_free_filepair() (068eac9)
   1#!/bin/sh
   2
   3. git-sh-setup-script || die "Not a git archive"
   4
   5dryrun=
   6while case "$#" in 0) break ;; esac
   7do
   8    case "$1" in
   9    -n) dryrun=echo ;;
  10    --) break ;;
  11    -*) echo >&2 "usage: git-prune-script [ -n ] [ heads... ]"; exit 1 ;;
  12    *)  break ;;
  13    esac
  14    shift;
  15done
  16
  17git-fsck-cache --full --cache --unreachable "$@" |
  18sed -ne '/unreachable /{
  19    s/unreachable [^ ][^ ]* //
  20    s|\(..\)|\1/|p
  21}' | {
  22        cd "$GIT_OBJECT_DIRECTORY" || exit
  23        xargs $dryrun rm -f
  24}
  25