merge: add t7613 for submodule updates

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.

Add the KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR switch
to expect the known failure that --no-ff merges do not create the empty
submodule directory.

Add the KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES
switch to expect the known failure that --no-ff merges attempt to merge
the new files in the former submodule directory with those of the removed
submodule.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
rebase: add t3426 for submodule updates

Test that the rebase command updates the work tree as expected for changes
which don't result in conflicts.

Set KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR to
document that "replace directory with submodule" fails because a
directory "sub1" exists.

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

Test that the pull 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.

Set KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR to
document that pull has the same --no-ff known failure merge has.

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

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

Set KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES
and KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR to
document that cherry-pick has the same --no-ff known failures merge has.

Add the KNOWN_FAILURE_CHERRY_PICK_SEES_EMPTY_COMMIT switch to expect the
known failure that while cherry picking just a SHA-1 update for an ignored
submodule the commit incorrectly fails with "The previous cherry-pick is
now empty, possibly due to conflict resolution.".

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
am: add t4255 for submodule updates

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

Add the KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES
switch to expect the known failure that --no-ff merges attempt to merge
the new files in the former submodule directory with those of the removed
submodule.

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 !!! stash: add t3906 for submodule updates

TODO: properly set up work tree in test helper functions

Test that the stash apply command updates the work tree as expected for
changes which don't result in conflicts no matter if submodule changes are
staged or not.

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