mirror of
https://github.com/git/git.git
synced 2024-11-25 19:04:18 +08:00
9f4c4eb0e1
* ph/parseopt-sh: git-quiltimport.sh fix --patches handling git-am: -i does not take a string parameter. sh-setup: don't let eval output to be shell-expanded. git-sh-setup: fix parseopt `eval` string underquoting Give git-am back the ability to add Signed-off-by lines. git-rev-parse --parseopt scripts: Add placeholders for OPTIONS_SPEC Migrate git-repack.sh to use git-rev-parse --parseopt Migrate git-quiltimport.sh to use git-rev-parse --parseopt Migrate git-checkout.sh to use git-rev-parse --parseopt --keep-dashdash Migrate git-instaweb.sh to use git-rev-parse --parseopt Migrate git-merge.sh to use git-rev-parse --parseopt Migrate git-am.sh to use git-rev-parse --parseopt Migrate git-clone to use git-rev-parse --parseopt Migrate git-clean.sh to use git-rev-parse --parseopt. Update git-sh-setup(1) to allow transparent use of git-rev-parse --parseopt Add a parseopt mode to git-rev-parse to bring parse-options to shell scripts.
34 lines
563 B
Bash
Executable File
34 lines
563 B
Bash
Executable File
#!/bin/sh
|
|
|
|
USAGE=''
|
|
SUBDIRECTORY_OK='Yes'
|
|
OPTIONS_SPEC=
|
|
. git-sh-setup
|
|
|
|
echo "WARNING: '$0' is deprecated in favor of 'git fsck --lost-found'" >&2
|
|
|
|
if [ "$#" != "0" ]
|
|
then
|
|
usage
|
|
fi
|
|
|
|
laf="$GIT_DIR/lost-found"
|
|
rm -fr "$laf" && mkdir -p "$laf/commit" "$laf/other" || exit
|
|
|
|
git fsck --full --no-reflogs |
|
|
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
|