This change makes sure that pointer handles are correctly cleaned up
during tests.
(cherry picked from commit e28cce87c7)
Co-authored-by: lhchavez <lhchavez@lhchavez.com>
Some test repositories are not correctly removed after the tests
did run. Fix by introducing a function that is to be used for
cleaning up temporary test repositories.
There's been some changes to the checkout strategy, especially the
SAFE_CREATE mode, which is now the RECREATE_MISSING flag, though that
shouldn't be necessary to use in the general case.
The largest changes come from the removal of the signture from
ref-modifying functions/methods and the removal of the reflog string in
all but those directly related to moving references.