On 05/24/2016 01:57 PM, Johannes Schindelin wrote:
Hi,

On Tue, 24 May 2016, Torsten Bögershausen wrote:

On 05/23/2016 08:52 PM, Junio C Hamano wrote:
Johannes Schindelin <johannes.schinde...@gmx.de> writes:

Of course, if you are doing network mount between systems with and
without filemode support, the result would depend on where you did
the "git init", so that would not help.

Which means that other probed things like symlink support and case
sensitivity are likely to be wrong in the .git/config that the
user may want to fix.
What we could do is to make the default config setting
platform-dependent, a la CRLF_NATIVE.

I imagine that we would want this for core.filemode, core.ignorecase and
core.symlinks.

What do you think?
The reason why we probe for filemode, icase, etc. at repository
creation time and record the result in the configuration is because we
do not to want to do the auto-probing at runtime, every time we run
any Git command.
Right, I missed this of course. My idea was to have saner defaults *iff
the config variables are not set explicitly*. But they *are* set, of
course. Just not in a way that makes sense when the very same working
directory is accessed from different Operating Systems.

if core.filemode is true, Git for Windows could:
a) Behave as today, report changed files (filemode)
b) Give warning to the user (and report changed filemode)
c) Error out, saying misconfigured worktree
d) use core.filemode = false anyway.
e) Give a warning and use core.filemode = false anyway.

At the moment I tend for c), as it makes it clear what is going wrong,
what do you think ?
The problem with that is that we would need to probe again.
The probing for the filemode:
Wouldn't it be enough to run lstat() on .git/ ?
If the user-execuatable bit is not set, but core.filemode is true, error out ?
That would not cost too much.
  Or dictate for
all eternity that Git for Windows cannot determine the executable bit (but
who knows for certain?)
Can we can limit the eternity until the day when Windows can determine the executable
bit ?

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to