4NK_env/scripts/push-ext-commit.sh
LeCoffre Deployment 62736e60e9 auto_clea
2025-09-25 15:54:08 +00:00

28 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# Quiet script: always force-with-lease push branch ext (avoid tag/branch ext clash)
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$ROOT_DIR"
push_ext_quiet() {
git remote show origin >/dev/null 2>&1 || return 0
git fetch -q --prune origin +refs/heads/*:refs/remotes/origin/* || true
if git show-ref --verify --quiet refs/remotes/origin/ext; then
git rev-parse --verify ext >/dev/null 2>&1 || git switch -q -C ext origin/ext
git branch --set-upstream-to=origin/ext ext >/dev/null 2>&1 || true
else
git rev-parse --verify ext >/dev/null 2>&1 || git switch -q -C ext
fi
git switch -q ext || true
git add -A >/dev/null 2>&1 || true
git diff --cached --quiet || git commit -m "auto_clea" >/dev/null 2>&1 || true
git push --force-with-lease -u origin refs/heads/ext:refs/heads/ext >/dev/null 2>&1 || true
}
# Submodules
git submodule foreach --recursive 'set -e; git remote show origin >/dev/null 2>&1 || exit 0; git fetch -q --prune origin +refs/heads/*:refs/remotes/origin/* || true; if git show-ref --verify --quiet refs/remotes/origin/ext; then git rev-parse --verify ext >/dev/null 2>&1 || git switch -q -C ext origin/ext; git branch --set-upstream-to=origin/ext ext >/dev/null 2>&1 || true; else git rev-parse --verify ext >/dev/null 2>&1 || git switch -q -C ext; fi; git switch -q ext || true; git add -A >/dev/null 2>&1 || true; git diff --cached --quiet || git commit -m "auto_clea" >/dev/null 2>&1 || true; git push --force-with-lease -u origin refs/heads/ext:refs/heads/ext >/dev/null 2>&1 || true' >/dev/null 2>&1 || true
# Root
push_ext_quiet