- Added a comprehensive plan for history rewrites in `docs/plans/history_rewrite.md`, including backup requirements and a checklist for destructive operations. - Created a QA report for history-rewrite scripts in `docs/reports/qa_report.md`, summarizing tests, findings, and recommendations. - Introduced `check_refs.sh` script to list branches and tags, saving a tarball of tag references. - Updated `clean_history.sh` to include non-interactive mode and improved error handling for backup branch pushes. - Enhanced `preview_removals.sh` to support JSON output format and added shallow clone detection. - Added Bats tests for `clean_history.sh` and `validate_after_rewrite.sh` to ensure functionality and error handling. - Implemented pre-commit hook to block commits to `data/backups/` directory. - Improved validation script to check for backup branch existence and run pre-commit checks. - Created temporary test scripts for validating `clean_history.sh` and `validate_after_rewrite.sh` functionality.
19 lines
508 B
Bash
Executable File
19 lines
508 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
TMP=$(mktemp -d)
|
|
cd "$TMP"
|
|
git init -q
|
|
echo hi > README.md
|
|
git add README.md
|
|
git commit -q -m init
|
|
mkdir -p .venv/bin
|
|
cat > .venv/bin/pre-commit <<'PRE'
|
|
#!/usr/bin/env sh
|
|
exit 0
|
|
PRE
|
|
chmod +x .venv/bin/pre-commit
|
|
echo "temp repo: $TMP"
|
|
/projects/Charon/scripts/history-rewrite/validate_after_rewrite.sh || echo "first run rc $?"
|
|
/projects/Charon/scripts/history-rewrite/validate_after_rewrite.sh --backup-branch backup/main || echo "second run rc $?"
|
|
echo exit status $?
|