From edf956f1bb79310b835f9e310933f514271af10d Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Wed, 28 Oct 2020 05:54:42 +0400 Subject: [PATCH] =?UTF-8?q?dk:=20BRANCH=20peut=20aussi=20=C3=AAtre=20un=20?= =?UTF-8?q?^COMMIT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dk | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/dk b/dk index 46ed891..58aae55 100755 --- a/dk +++ b/dk @@ -342,6 +342,8 @@ VARIABLES de update-apps.conf vaut 'origin' par défaut BRANCH vaut 'develop' par défaut + Pour toutes les variables de type BRANCH, utiliser la syntaxe ^COMMIT + pour ignorer ORIGIN et sélectionner un commit en particulier TYPE vaut 'composer' par défaut si le fichier composer.json existe à la racine du projet. sinon vaut 'none' par défaut @@ -833,14 +835,26 @@ function build_update_apps() { setx cwd=pwd cd "$DEST" git fetch --all -p -f || { eend; return 1; } - git reset --hard "$ORIGIN/$BRANCH" || { eend; return 1; } + if [ "${BRANCH#^}" != "$BRANCH" ]; then + git reset --hard "${BRANCH#^}" || { cd "$cwd"; eend; return 1; } + else + git reset --hard "$ORIGIN/$BRANCH" || { cd "$cwd"; eend; return 1; } + fi cd "$cwd" else # reliquat mode devel? [ -d "$DEST" ] && rm -rf "$DEST" # clonage initial estep "Clonage $URL:$BRANCH --> $DEST" - git clone -o "$ORIGIN" -b "$BRANCH" "$URL" "$DEST" || { eend; return 1; } + if [ "${BRANCH#^}" != "$BRANCH" ]; then + git clone -o "$ORIGIN" "$URL" "$DEST" || { eend; return 1; } + setx cwd=pwd + cd "$DEST" + git reset --hard "${BRANCH#^}" || { cd "$cwd"; eend; return 1; } + cd "$cwd" + else + git clone -o "$ORIGIN" -b "$BRANCH" "$URL" "$DEST" || { eend; return 1; } + fi fi if [ -z "$TYPE" ]; then