mirror of
https://github.com/Colorado-Mesh/meshcore-bot-firmware.git
synced 2026-08-11 16:20:29 +00:00
35 lines
1.2 KiB
Bash
Executable File
35 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/meshcore-env.sh"
|
|
|
|
base_ref="${1:-origin/main}"
|
|
|
|
if [ ! -d "${MESHCORE_DIR}/.git" ] && [ ! -f "${MESHCORE_DIR}/.git" ]; then
|
|
echo "MeshCore submodule is missing at ${MESHCORE_DIR}" >&2
|
|
echo "Run: git submodule update --init --recursive" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if ! git -C "${MESHCORE_DIR}" rev-parse --verify "${base_ref}" >/dev/null 2>&1; then
|
|
echo "Base ref '${base_ref}' is not available in the MeshCore submodule." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [ -n "$(git -C "${MESHCORE_DIR}" status --porcelain)" ]; then
|
|
echo "MeshCore submodule has uncommitted or untracked changes; commit them in the submodule before exporting patches." >&2
|
|
exit 1
|
|
fi
|
|
|
|
commit_count="$(git -C "${MESHCORE_DIR}" rev-list --count "${base_ref}..HEAD")"
|
|
if [ "${commit_count}" -eq 0 ]; then
|
|
echo "No MeshCore commits to export after ${base_ref}."
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "${PATCH_DIR}"
|
|
rm -f "${PATCH_DIR}"/*.patch
|
|
git -C "${MESHCORE_DIR}" format-patch --zero-commit --no-signature --output-directory "${PATCH_DIR}" "${base_ref}..HEAD" >/dev/null
|
|
|
|
echo "Exported ${commit_count} MeshCore patch(es) to ${PATCH_DIR#${MESHCORE_FW_ROOT}/}"
|