50 lines
1.4 KiB
Bash
50 lines
1.4 KiB
Bash
|
#!/bin/sh
|
||
|
#install sharness.sh
|
||
|
#
|
||
|
# Copyright (c) 2014 Juan Batiz-Benet
|
||
|
# MIT Licensed; see the LICENSE file in this repository.
|
||
|
#
|
||
|
|
||
|
# settings
|
||
|
version=5eee9b51b5621cec95a64018f0cc779963b230d2
|
||
|
urlprefix=https://github.com/mlafeldt/sharness.git
|
||
|
if test ! -n "$clonedir" ; then
|
||
|
clonedir=lib
|
||
|
fi
|
||
|
sharnessdir=sharness
|
||
|
|
||
|
if test -f "$clonedir/$sharnessdir/SHARNESS_VERSION_$version"
|
||
|
then
|
||
|
# There is the right version file. Great, we are done!
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
die() {
|
||
|
echo >&2 "$@"
|
||
|
exit 1
|
||
|
}
|
||
|
|
||
|
checkout_version() {
|
||
|
git checkout "$version" || die "Could not checkout '$version'"
|
||
|
rm -f SHARNESS_VERSION_* || die "Could not remove 'SHARNESS_VERSION_*'"
|
||
|
touch "SHARNESS_VERSION_$version" || die "Could not create 'SHARNESS_VERSION_$version'"
|
||
|
echo "Sharness version $version is checked out!"
|
||
|
}
|
||
|
|
||
|
if test -d "$clonedir/$sharnessdir/.git"
|
||
|
then
|
||
|
# We need to update sharness!
|
||
|
cd "$clonedir/$sharnessdir" || die "Could not cd into '$clonedir/$sharnessdir' directory"
|
||
|
git fetch || die "Could not fetch to update sharness"
|
||
|
checkout_version
|
||
|
else
|
||
|
# We need to clone sharness!
|
||
|
mkdir -p "$clonedir" || die "Could not create '$clonedir' directory"
|
||
|
cd "$clonedir" || die "Could not cd into '$clonedir' directory"
|
||
|
|
||
|
git clone "$urlprefix" || die "Could not clone '$urlprefix'"
|
||
|
cd "$sharnessdir" || die "Could not cd into '$sharnessdir' directory"
|
||
|
checkout_version
|
||
|
fi
|
||
|
exit 0
|