|
@ -6,6 +6,7 @@ VENV_PATH="${VENV_PATH:-env}" |
|
|
BRANCH="${BRANCH:-master}" |
|
|
BRANCH="${BRANCH:-master}" |
|
|
|
|
|
|
|
|
REPO="${REPO:-git@gitea.ks.matfyz.cz:mam/mamweb.git}" |
|
|
REPO="${REPO:-git@gitea.ks.matfyz.cz:mam/mamweb.git}" |
|
|
|
|
|
UPSTREAM_REMOTE='origin' |
|
|
GIMLI='gimli.ms.mff.cuni.cz' |
|
|
GIMLI='gimli.ms.mff.cuni.cz' |
|
|
GIMLI_LOGIN="mam-web@$GIMLI" |
|
|
GIMLI_LOGIN="mam-web@$GIMLI" |
|
|
# Skutečné cesty, jak je vrátí `realpath` |
|
|
# Skutečné cesty, jak je vrátí `realpath` |
|
@ -70,16 +71,26 @@ function safe_checkout_branch { |
|
|
local SCRIPT="$0" |
|
|
local SCRIPT="$0" |
|
|
|
|
|
|
|
|
git fetch --all |
|
|
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ěží. |
|
|
# 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ěží. |
|
|
# 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í. |
|
|
# `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… |
|
|
# 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 |
|
|
then |
|
|
echo >&2 "Změna v make/lib.sh, prosím pullni manuálně" |
|
|
echo >&2 "Změna v make/lib.sh, prosím pullni manuálně" |
|
|
exit 1 |
|
|
exit 1 |
|
|
fi |
|
|
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 |
|
|
then |
|
|
echo >&2 "Změna v $SCRIPT, prosím pullni manuálně" |
|
|
echo >&2 "Změna v $SCRIPT, prosím pullni manuálně" |
|
|
exit 1 |
|
|
exit 1 |
|
|