oh-my-git/levels/low-level/puzzle-apocalypse
2020-10-12 19:23:10 +02:00

42 lines
778 B
Plaintext

[description]
Delete all objects in this repository using git commands only!
Useful commands:
git prune
git reflog expire
[setup]
echo foo > foo
BLOB=$(git hash-object -w foo)
echo bar > bar
git add .
git commit -m "Initial commit"
echo blabber >> bar
git commit -a -m "Second commit"
git update-ref refs/important HEAD
git update-ref refs/interesting "$BLOB"
[setup goal]
echo foo > foo
BLOB=$(git hash-object -w foo)
echo bar > bar
git add .
git commit -m "Initial commit"
echo blabber >> bar
git commit -a -m "Second commit"
git update-ref refs/important HEAD
git update-ref refs/interesting "$BLOB"
TREE=$(git mktree)
git read-tree $TREE
rm -rf .git/refs/*
rm -rf .git/objects/*
[win]
test "$(git cat-file --batch-check --batch-all-objects | wc -l)" -eq 0