Subject: t3513-revert-submodule.sh (3513.8) fails sometimes

From: Alex Riesen <[email-masked]>
Date: Thu, 20 Feb 2020 10:50:53 +0100

Hi,

the test fails for some reason, relatively rarely (20 per 100
invocations). I could not find the why, so I'm just posting the logs
below with the full log attached.

The test has been failing here for at least a year (the logs below done with
v2.25.1).

I have a config.mak:

    USE_LIBPCRE2=YesPlease
    OPENSSL_SHA256=YesPlease

    CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
    CFLAGS += -fstack-protector-strong
    CFLAGS += -fpie
    LDFLAGS += -z relro -z now
    LDFLAGS += -pie

There local modifications, but none in the core core (small customizations in gitk).

The file system where the test is run on is an ext4 volume (an old, but still
usable ssd). The kernel is an v5.5.3. Debian without systemd. Not a container.
Not a VM.

expecting success of 3513.8 'git_revert: replace submodule containing a .git directory with a directory must fail': 
		prolog &&
		reset_work_tree_to add_sub1 &&
		(
			cd submodule_update &&
			git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
			replace_gitfile_with_git_dir sub1 &&
			test_must_fail $command replace_sub1_with_directory &&
			test_superproject_content origin/add_sub1 &&
			test_git_directory_is_unchanged sub1 &&
			test_submodule_content sub1 origin/add_sub1
		)
	
Cloning into 'submodule_update'...
done.
Branch 'add_sub1' set up to track remote branch 'add_sub1' from 'origin'.
Switched to a new branch 'add_sub1'
Submodule 'sub1' (/home/ari/compile/git/t/trash directory.t3513-revert-submodule/submodule_update_sub1) registered for path 'sub1'
Cloning into '/home/ari/compile/git/t/trash directory.t3513-revert-submodule/submodule_update/sub1'...
done.
Submodule path 'sub1': checked out '4a3c63c700bd465527a865db70efb925e380182c'
Branch 'replace_sub1_with_directory' set up to track remote branch 'replace_sub1_with_directory' from 'origin'.
error: The following untracked working tree files would be overwritten by checkout:
	sub1/file1
	sub1/file2
Please move or remove them before you switch branches.
Aborting
'actual' is not empty, it contains:
:100644 100644 587be6b4c3f93f93c489c0111bba5596147a26cb 0000000000000000000000000000000000000000 M	file1
:100644 100644 975fbec8256d3e8a3797e7a3611380f27c49f4ac 0000000000000000000000000000000000000000 M	file2
not ok 8 - git_revert: replace submodule containing a .git directory with a directory must fail
#	
#			prolog &&
#			reset_work_tree_to add_sub1 &&
#			(
#				cd submodule_update &&
#				git branch -t replace_sub1_with_directory origin/replace_sub1_with_directory &&
#				replace_gitfile_with_git_dir sub1 &&
#				test_must_fail $command replace_sub1_with_directory &&
#				test_superproject_content origin/add_sub1 &&
#				test_git_directory_is_unchanged sub1 &&
#				test_submodule_content sub1 origin/add_sub1
#			)
#		

Regards,
Alex