bisect: add t6039 for submodule updates

Test that the bisect command updates the work tree as expected. To make
that work with the new submodule test framework a git_bisect helper
function is added. This adds a commit after the one given to be switched
to and makes that one the bad commit. The starting point is then given to
bisect as the good commit which makes bisect change the work tree to the
commit in between, which is the commit given.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
!!! WIP !!! merge: add t7613 for submodule updates

TODO: fix or expect failing tests

Test that the merge command updates the work tree as expected (for
submodule changes which don't result in conflicts) when used without
arguments or with the '--ff', '--ff-only' and '--no-ff' flag.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
!!! WIP !!! pull: add t5572 for submodule updates

TODO: fix or expect failing tests

Test that the merge command updates the work tree as expected (for
submodule changes which don't result in conflicts) when used without
arguments or with the '--ff', '--ff-only' and '--no-ff' flag each. Add
helper functions to reset the work tree to the commit before the one to
update the work tree to so that pull has something to do.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
!!! WIP !!! cherry-pick: add t3512 for submodule updates

TODO: fix or expect failing tests

Test that the cherry-pick command updates the work tree as expected (for
submodule changes which don't result in conflicts).

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
!!! WIP !!! checkout-index: add t2025 for submodule updates

TODO: fix or expect failing tests

Test that the checkout-index command updates the work tree as expected
(for submodule changes which don't result in conflicts) with or without
the '-f' flag.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
!!! WIP !!! reminder of what is still left to do ...