update-nutools met à jour le dépôt local si possible

supprimer le répertoire .git lors du déploiement
This commit is contained in:
Jephte CLAIN 2013-12-28 10:47:01 +04:00
parent 76f8932332
commit 70a3400c53
3 changed files with 33 additions and 9 deletions

0
.nutools-devel Normal file
View File

View File

@ -4,6 +4,12 @@ source "$@" || exit 1
source "$ULIBDIR/ulib" && urequire DEFAULTS uenv uenv_update || exit 1
cd "$scriptdir/../.."
# supprimer les fichiers de VCS
rm -rf .git
# supprimer le marqueur d'un répertoire non déployé
rm -f .nutools-devel
# supprimer fichiers de développement
rm -rf pyulib/{build,devel,migrate,test}

View File

@ -34,21 +34,39 @@ NOTE: si une erreur se produit, utiliser l'adresse privée, e.g.
NUTOOLS_REPO=$PRIV_REPO $0"
fi
if [ $# -ne 1 -o "$1" != --do-update ]; then
scriptdir="$(dirname "$0")"
if [ $# -ne 2 -o "$1" != --do-update ]; then
cp "$0" "$TMPSCRIPT"
chmod 755 "$TMPSCRIPT"
exec bash "$TMPSCRIPT" --do-update
exec bash "$TMPSCRIPT" --do-update "$scriptdir"
fi
scriptdir="$2"
clonerepo=
if [ -z "$NUTOOLS_UPDATE_REPO" -a -f "$scriptdir/.nutools-devel" -a -d "$scriptdir/.git" ]; then
echo "NOTE: tentative de mise à jour du dépôt local"
cd "$scriptdir"
git pull || clonerepo=1
else
clonerepo=1
fi
if [ -n "$clonerepo" ]; then
echo "NOTE: clonage du dépôt distant $REPO"
cd /tmp
rm -rf "$NAME"
git clone "$REPO" || exit 1
cd "$NAME"
fi
cd /tmp
rm -rf "$NAME"
git clone "$REPO" || exit 1
cd "$NAME"
if ! diff -q "$SCRIPTNAME" "$0"; then
echo "NOTE: Le script $SCRIPTNAME a été mis à jour. Il va être relancé."
exec bash "./$SCRIPTNAME"
fi
bash ./uinst -y || exit 1
cd ..
rm -rf "$NAME"
if [ -n "$clonerepo" ]; then
cd ..
rm -rf "$NAME"
fi
rm "$0"; exit 0