This repo contains a bunch of tools cooked up to fix firebase-js-sdk on May 24, 2019.
damage.txt contains the output of a git push --force that overwrite nearly all refs in the repository.
orig-commits.txt is extracted from damage.txt and contains all the original commit ids.
test.sh can be run against a repo to determine how many commits from the golden set are missing.
feiyangc@ had a copy with all the commits.
unpack.sh unpacks that copy and applies some fixes to it. See source.
cd firebase-js-sdk
. The rest of the work was done from within the copy, where
all commands are now in the parent directory.
../prune-locals.sh
removes any local branches that shouldn't be published
../fix.py ../damage.txt fix
fixes the refs based on contents of damage.txt
../fix.py ../damage.txt check
verifies that the refs match with git rev-parse
Result was checked with git push --force --dry-run --tags origin 'refs/heads/*'
.
The fix was a applied. Output in fixed.txt