Re: [PATCH 6/7] Make branch merging aware of underlying case-insensitive filsystems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes:

> @@ -540,6 +556,16 @@ static int verify_absent(struct cache_entry *ce, const char *action,
>  		int dtype = ce_to_dtype(ce);
>  		struct cache_entry *result;
>  
> +		/*
> +		 * It may be that the 'lstat()' succeeded even though
> +		 * target 'ce' was absent, because there is an old
> +		 * entry that is different only in case..
> +		 *
> +		 * Ignore that lstat() if it matches.
> +		 */
> +		if (ignore_case && icase_exists(o, ce, &st))
> +			return 0;
> +

It may well be the case that this lstat() returning success was caused by
a ghost match with a file with different case, and I think it is the right
thing to say "no, it does not exist" if that is the case.

I wonder what happens when the file with the same case does exist that we
are trying to make sure is missing?

As far as I can tell, icase_exists() does not ask "does a file with this
name in different case exist, and a file with this exact case doesn't?"
but asks "does a file with this name, or another name that is different
only in case, exist?".
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux