From 485c4180da3178fc3001d5c606f3d563554ace70 Mon Sep 17 00:00:00 2001 From: "Pavel \"LEdoian\" Turinsky" Date: Mon, 19 Dec 2022 21:09:15 +0100 Subject: [PATCH] =?UTF-8?q?make/lib:=20podpora=20pro=20zat=C3=ADm=20neexis?= =?UTF-8?q?tuj=C3=ADc=C3=AD=20v=C4=9Btve?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (pokud jsem to napsal správně.) --- make/lib.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/make/lib.sh b/make/lib.sh index 9dc3d6c5..0a5ff4ee 100644 --- a/make/lib.sh +++ b/make/lib.sh @@ -6,6 +6,7 @@ VENV_PATH="${VENV_PATH:-env}" BRANCH="${BRANCH:-master}" REPO="${REPO:-git@gitea.ks.matfyz.cz:mam/mamweb.git}" +UPSTREAM_REMOTE='origin' GIMLI='gimli.ms.mff.cuni.cz' GIMLI_LOGIN="mam-web@$GIMLI" # Skutečné cesty, jak je vrátí `realpath` @@ -70,16 +71,26 @@ function safe_checkout_branch { local SCRIPT="$0" git fetch --all + local UPSTREAM_BRANCH + if git rev-parse "$BRANCH@{u}" >/dev/null 2>/dev/null + then + UPSTREAM_BRANCH="$BRANCH@{u}" # Stačí symbolicky. + else + # Tohle je jediná možná záchrana. + UPSTREAM_BRANCH="$UPSTREAM_REMOTE/$BRANCH" + fi + git rev-parse "$UPSTREAM_BRANCH" || die "Vzdálená větev $UPSTREAM_BRANCH neexistuje?" + # Od teď si musíme dát pozor, abychom nezměnili kód, který právě běží. # Zkontrolujeme, že se nemění tahle knihovna a skript, který běží. # `git rev-parse` dává SHA-1 hashe objektů, vizte manuálovou stránku pro pochopení. # Pozor: tohle porovnává jen verze commitnuté do gitu. Lokální změny udělají něco náhodného… - if test "$(git rev-parse @:make/lib.sh)" != "$(git rev-parse "$BRANCH@{u}":make/lib.sh)" + if test "$(git rev-parse @:make/lib.sh)" != "$(git rev-parse "$REMOTE_BRANCH":make/lib.sh)" then echo >&2 "Změna v make/lib.sh, prosím pullni manuálně" exit 1 fi - if test "$(git rev-parse @:"$SCRIPT")" != "$(git rev-parse "$BRANCH@{u}":"$SCRIPT")" + if test "$(git rev-parse @:"$SCRIPT")" != "$(git rev-parse "$REMOTE_BRANCH":"$SCRIPT")" then echo >&2 "Změna v $SCRIPT, prosím pullni manuálně" exit 1