2005-11-08 02:15:34 +03:00
|
|
|
#!/bin/sh
|
|
|
|
|
2005-12-14 01:30:31 +03:00
|
|
|
USAGE=''
|
|
|
|
SUBDIRECTORY_OK='Yes'
|
2007-11-06 12:50:02 +03:00
|
|
|
OPTIONS_SPEC=
|
2005-12-14 01:30:31 +03:00
|
|
|
. git-sh-setup
|
|
|
|
|
|
|
|
if [ "$#" != "0" ]
|
|
|
|
then
|
|
|
|
usage
|
|
|
|
fi
|
|
|
|
|
2005-11-11 06:16:26 +03:00
|
|
|
laf="$GIT_DIR/lost-found"
|
2005-11-08 02:15:34 +03:00
|
|
|
rm -fr "$laf" && mkdir -p "$laf/commit" "$laf/other" || exit
|
|
|
|
|
2007-04-04 18:46:14 +04:00
|
|
|
git fsck --full --no-reflogs |
|
2005-11-08 02:15:34 +03:00
|
|
|
while read dangling type sha1
|
|
|
|
do
|
|
|
|
case "$dangling" in
|
|
|
|
dangling)
|
2007-07-03 09:52:14 +04:00
|
|
|
if git rev-parse --verify "$sha1^0" >/dev/null 2>/dev/null
|
2005-11-08 02:15:34 +03:00
|
|
|
then
|
|
|
|
dir="$laf/commit"
|
2007-07-03 09:52:14 +04:00
|
|
|
git show-branch "$sha1"
|
2005-11-08 02:15:34 +03:00
|
|
|
else
|
|
|
|
dir="$laf/other"
|
|
|
|
fi
|
|
|
|
echo "$sha1" >"$dir/$sha1"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|