git-commit-vandalism/git-lost-found.sh
Junio C Hamano 0086e2c854 Rename lost+found to lost-found.
Because we use "lost-found" as the directory name to hold
dangling object names, it is confusing to call the command
git-lost+found, although it makes sense and is even cute ;-).

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-13 02:07:02 -08:00

24 lines
420 B
Bash
Executable File

#!/bin/sh
. git-sh-setup || die "Not a git archive."
laf="$GIT_DIR/lost-found"
rm -fr "$laf" && mkdir -p "$laf/commit" "$laf/other" || exit
git fsck-objects |
while read dangling type sha1
do
case "$dangling" in
dangling)
if git-rev-parse --verify "$sha1^0" >/dev/null 2>/dev/null
then
dir="$laf/commit"
git-show-branch "$sha1"
else
dir="$laf/other"
fi
echo "$sha1" >"$dir/$sha1"
;;
esac
done