This handles non-annotated tags, which were not handled well before. It
does mean that we use the hash of the (annotated) tag object instead of
the commit, but that seems OK.
Added a test case.
If an initial clone crashes, it can leave the git-root in a bad state
such that git can't retry the clone. This change forces it to clean up
the mess and retry.
Change the use of pkill with 'docker rm' as this will work more reliably (at least on MacOS). Trap the EXIT signal so we can perform a clean-up even if a test fails, so we don't pollute the system with a bunch of stopped containers. Increase the timeout from two to three seconds in order for the tests to work reliably on MacOS (the two second waiting period was consistenly to short for all tests to work). Update the Makefile so when we run the container in order to compile the package we make sure the (stopped) container is removed.
Faster builds and versions from tags. Also use alpine as a base image. We
need alpine for other architectures...
Also change the --wait flag to take a float for sub-second waits.