Skip to content

Commit bf299f2

Browse files
committed
Merge pull request #200 from github/no-dangling-old-git
Don't use --no-dangling with old git versions
2 parents 99d0233 + a7595f0 commit bf299f2

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

share/github-backup-utils/ghe-backup-fsck

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ repos=0
2121
errors=0
2222
log=$(mktemp)
2323
t_start=$(date +%s)
24+
if git fsck -h | grep -q '\-\-dangling'; then
25+
git_cmd='git fsck --no-dangling'
26+
else
27+
echo "Warning: old git version, --no-dangling not available"
28+
git_cmd='git fsck'
29+
fi
2430

2531
if [ -z "$sdir" ] || [ ! -d "$sdir" ]; then
2632
print_usage
@@ -46,11 +52,11 @@ for repo in $(find $sdir/repositories/ -type d -name \*.git); do
4652
fi
4753
4854
if [ ! -f objects/info/alternates ] || grep -q '^\.\.' objects/info/alternates; then
49-
git fsck --no-dangling >$log 2>&1 && {
55+
$git_cmd >$log 2>&1 && {
5056
echo "OK $repo $nwo"; exit
5157
}
5258
else
53-
GIT_ALTERNATE_OBJECT_DIRECTORIES=../network.git/objects git fsck --no-dangling >$log 2>&1 && {
59+
GIT_ALTERNATE_OBJECT_DIRECTORIES=../network.git/objects $git_cmd >$log 2>&1 && {
5460
echo "WARN $repo $nwo (alternates absolute path)"; exit
5561
}
5662
fi

0 commit comments

Comments
 (0)