Subject: Re: [PATCH] t1410: fix breakage on case-insensitive filesystems

From: Johannes Sixt <[email-masked]>
Date: Wed, 12 Nov 2014 21:20:22 +0100

Am 09.11.2014 um 02:59 schrieb Jeff King:
>  test_expect_success 'stale dirs do not cause d/f conflicts (reflogs off)' '
> -	test_when_finished "git branch -d a || git branch -d a/b" &&
> +	test_when_finished "git branch -d one || git branch -d one/two" &&
>  
> -	git branch a/b master &&
> -	echo "a/b@{0} branch: Created from master" >expect &&
> -	git log -g --format="%gd %gs" a/b >actual &&
> +	git branch one/two master &&
> +	echo "one/two@{0} branch: Created from master" >expect &&
> +	git log -g --format="%gd %gs" one/two >actual &&
>  	test_cmp expect actual &&
> -	git branch -d a/b &&
> +	git branch -d one/two &&
>  
> -	# same as before, but we only create a reflog for "a" if
> +	# same as before, but we only create a reflog for "one" if
>  	# it already exists, which it does not
> -	git -c core.logallrefupdates=false branch a master &&
> +	git -c core.logallrefupdates=false branch one master &&
>  	: >expect &&
> -	git log -g --format="%gd %gs" a >actual &&
> +	git log -g --format="%gd %gs" one >actual &&
>  	test_cmp expect actual
>  '
>  

On Linux I observe

Deleted branch one/two (was b60a214).
warning: unable to unlink .git/logs/refs/heads/one: Is a directory
Deleted branch one (was b60a214).
ok 15 - stale dirs do not cause d/f conflicts (reflogs off)

(notice the warning) but on Windows the test fails with

Deleted branch one/two (was b60a214).
error: Unable to append to .git/logs/refs/heads/one: Permission denied
fatal: Cannot update the ref 'refs/heads/one'.
not ok 15 - stale dirs do not cause d/f conflicts (reflogs off)

On both systems, .git/logs/refs/heads/one exists as an empty directory
after the test.

I haven't dug further (will have to wait a day or two, so if you have
time or a hint where to look...)

-- Hannes