From c581b76877078e74a23c946231e2a54a228729ca Mon Sep 17 00:00:00 2001 From: David Snelling Date: Fri, 15 Aug 2025 12:04:15 -0700 Subject: [PATCH] temp: Add git history cleanup script --- cleanup-git-history.sh | 98 ++++++++++++++++++++++-------------------- 1 file changed, 51 insertions(+), 47 deletions(-) diff --git a/cleanup-git-history.sh b/cleanup-git-history.sh index 1a401ae3..36e2c2db 100755 --- a/cleanup-git-history.sh +++ b/cleanup-git-history.sh @@ -1,60 +1,64 @@ #!/bin/bash -# Script to remove sensitive business strategy files from git history -# WARNING: This rewrites git history! Make sure to backup first. +# Git history cleanup script for sensitive business documents +# This removes business strategy files from git history permanently -echo "โš ๏ธ WARNING: This will rewrite git history!" -echo "Make sure you have a backup and all team members are aware." -echo "" -read -p "Continue? (y/N): " -n 1 -r -echo "" +echo "๐Ÿงน Cleaning sensitive business documents from git history..." +echo "โš ๏ธ WARNING: This will rewrite git history and require force push" -if [[ ! $REPLY =~ ^[Yy]$ ]]; then - echo "Aborted." - exit 1 -fi - -echo "Removing sensitive files from git history..." - -# Files to remove from history +# List of sensitive files to remove from history FILES_TO_REMOVE=( - "IMPLEMENTATION-ROADMAP.md" - "CORTEX.md" - "CORTEX-ROADMAP.md" - "docs/STRATEGIC-IMPLEMENTATION-PLAN.md" "ACTUAL_CONFIG_STRATEGY.md" + "CORTEX-ROADMAP.md" + "IMPLEMENTATION-ROADMAP.md" "MODEL_STRATEGY.md" - "METADATA_OPTIMIZATION_PROPOSAL.md" - "METADATA_PERFORMANCE_ANALYSIS.md" - "PERFORMANCE_OPTIMIZATION_TODO.md" - "TENSORFLOW_TO_TRANSFORMERS_ANALYSIS.md" - "MIGRATION_PLAN_DEPRECATED_METHODS.md" - "AUGMENTATION_ARCHITECTURE.md" # Contains pricing info - "CLI_AUGMENTATION_GUIDE.md" - "docs/brainy-cli.md" - "docs/getting-started/quick-start.md" - "docs/distributed-deployment-scenario.md" - "docs/distributed-usage-guide.md" - "docs/brainy-distributed-enhancements.md" - "docs/brainy-distributed-enhancements-revised.md" + "docs/STRATEGIC-IMPLEMENTATION-PLAN.md" + "CORTEX.md" + "brainy-pitch-deck-FINAL-v2.pdf" ) -# Build the filter-branch command +# Create the filter command +FILTER_CMD="git rm --cached --ignore-unmatch" for file in "${FILES_TO_REMOVE[@]}"; do - echo "Removing $file from history..." - FILTER_BRANCH_SQUELCH_WARNING=1 git filter-branch --force --index-filter \ - "git rm --cached --ignore-unmatch $file" \ - --prune-empty --tag-name-filter cat -- --all + FILTER_CMD="$FILTER_CMD \"$file\"" +done + +echo "๐Ÿ“‹ Files to remove from git history:" +for file in "${FILES_TO_REMOVE[@]}"; do + echo " - $file" done echo "" -echo "โœ… Files removed from history." -echo "" -echo "โš ๏ธ IMPORTANT NEXT STEPS:" -echo "1. Force push to remote: git push origin --force --all" -echo "2. Force push tags: git push origin --force --tags" -echo "3. Tell all team members to re-clone the repository" -echo "4. Clean up local repo: git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin" -echo "5. Run garbage collection: git gc --prune=now --aggressive" -echo "" -echo "Note: GitHub may still show some cached data for a while." \ No newline at end of file +read -p "Continue? (y/N): " -n 1 -r +echo +if [[ ! $REPLY =~ ^[Yy]$ ]]; then + echo "โŒ Aborted" + exit 1 +fi + +echo "๐Ÿ”„ Running git filter-branch to clean history..." + +# Set environment variable to suppress warning +export FILTER_BRANCH_SQUELCH_WARNING=1 + +# Run the filter-branch command +git filter-branch --force --index-filter "$FILTER_CMD" --prune-empty --tag-name-filter cat -- --all + +if [ $? -eq 0 ]; then + echo "โœ… Git history cleaned successfully!" + echo "" + echo "๐Ÿ—‘๏ธ Cleaning up backup refs..." + rm -rf .git/refs/original/ + git reflog expire --expire=now --all + git gc --prune=now --aggressive + + echo "" + echo "โš ๏ธ IMPORTANT: Run the following to update remote:" + echo " git push --force --all" + echo " git push --force --tags" + echo "" + echo "๐Ÿ”’ Sensitive business documents removed from git history" +else + echo "โŒ Git filter-branch failed" + exit 1 +fi \ No newline at end of file