testhelpers: new method to generate empty commits

This is typically used with an explicit `branch` keyword argument.
6 jobs for branch/default in 1 minute and 41 seconds
Status Job ID Name Coverage
  Main
passed #121865
tests-py3

00:00:42

100.0%
 
  Compat
passed #121866
install

00:01:02

passed #121869
tests-hg-git-default

00:00:48

100.0%
failed #121868
allowed to fail
tests-py3-hg-default

00:00:58

96.0%
passed #121867
tests-py3-hg-stable

00:00:45

100.0%
 
  Downstream
passed hgitaly

 
Name Stage Failure
failed
tests-py3-hg-default Compat
FAILED hgext3rd/heptapod/tests/git/test_integration.py::test_closed_default_branch
FAILED hgext3rd/heptapod/tests/git/test_integration.py::test_multiple_heads_merge
FAILED hgext3rd/heptapod/tests/git/test_integration.py::test_multiple_heads_cannot_choose
FAILED hgext3rd/heptapod/tests/git/test_integration.py::test_topic_amended - ...
FAILED hgext3rd/heptapod/tests/git/test_integration.py::test_subrepos - TypeE...
================= 15 failed, 132 passed, 2 warnings in 31.68s ==================
Running after_script
Uploading artifacts for failed job
ERROR: Job failed: exit code 1