Merge e7e24c019a into sapling-pr-archive-bolinfest

This commit is contained in:
Michael Bolin
2025-08-05 23:21:50 -07:00
committed by GitHub
2 changed files with 30 additions and 5 deletions

View File

@@ -19,7 +19,35 @@ if ! git diff --quiet || ! git diff --cached --quiet || [ -n "$(git ls-files --o
fi
# Fail if in a detached HEAD state.
CURRENT_BRANCH=$(git symbolic-ref --short -q HEAD)
# If we cannot determine the current branch (e.g., detached HEAD), print a
# helpful error message to stderr and exit instead of failing silently.
CURRENT_BRANCH=$(git symbolic-ref --short -q HEAD 2>/dev/null || true)
if [ -z "${CURRENT_BRANCH:-}" ]; then
echo "ERROR: Could not determine the current branch (detached HEAD?)." >&2
echo " Please run this script from a checked-out branch." >&2
exit 1
fi
# Ensure we are on the 'main' branch before proceeding.
if [ "${CURRENT_BRANCH}" != "main" ]; then
echo "ERROR: Releases must be created from the 'main' branch (current: '${CURRENT_BRANCH}')." >&2
echo " Please switch to 'main' and try again." >&2
exit 1
fi
# Ensure the current local commit on 'main' is present on 'origin/main'.
# This guarantees we only create releases from commits that are already on
# the canonical repository (https://github.com/openai/codex).
if ! git fetch --quiet origin main; then
echo "ERROR: Failed to fetch 'origin/main'. Ensure the 'origin' remote is configured and reachable." >&2
exit 1
fi
if ! git merge-base --is-ancestor HEAD origin/main; then
echo "ERROR: Your local 'main' HEAD commit is not present on 'origin/main'." >&2
echo " Please push your commits first (git push origin main) or check out a commit on 'origin/main'." >&2
exit 1
fi
# Create a new branch for the release and make a commit with the new version.
if [ $# -ge 1 ]; then

View File

@@ -39,10 +39,7 @@ pub fn init(_config: &Config) -> Result<Tui> {
)?;
set_panic_hook();
// Ensure the UI starts at the top of the terminal by clearing the
// current screen and moving the cursor to (0, 0) before creating the
// Terminal. This makes the initial welcome message render at the very top
// of the viewport, while keeping the normal scrollback history intact.
// Clear screen and move cursor to top-left before drawing UI
execute!(stdout(), Clear(ClearType::All), MoveTo(0, 0))?;
let backend = CrosstermBackend::new(stdout());