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. Or dictate for
all eternity that Git for Windows cannot determine the executable bit (but
who knows for certain?)

I am pretty convinced that we should go with a)

Ciao,
Dscho

Reply via email to