Patrick Steinhardt <ps@xxxxxx> writes: >> For now, I think this is fine, but we'd probably clean it up so that >> without --force update-ref would not corrupt the repository like >> this. When used with --force, or before adding such a safety >> measure, how we test if we successfully corrupted the repository is >> an interesting matter. I'd say >> >> git update-ref --force --no-deref -d HEAD && >> test_must_fail git show-ref --verify -q HEAD && >> cp -f .git/HEAD.orig .git/HEAD && >> git show-ref --verify -q "$m" >> >> to ensure that other than removing HEAD and corrupting the >> repository, it did not cause permanent damage by removing the >> underlying ref, perhaps. >> >> We may want to add some NEEDSWORK comment around such tests. > > I think the proper way to do the test would be to create a non-mandatory > symref and delete it. That'd also be a nice preparation for the > `--force` parameter already. Excellent. Yes, the test is about creation and removal of a symref; the symref used for testing does not have to be the HEAD. Thanks.