Re: [PATCH] mingw: introduce the 'core.hideDotFiles' setting
- From
Ramsay Jones <ramsay@ramsayjones.plus.com>
- Date
- May 4, 2016, 16:18 UTC
- Message-ID
- <572A20B9.7060301@ramsayjones.plus.com>
- In-Reply-To
- <17d30bb680a0452efd7b3c4f42e2f94478a86273.1462372716.git.johannes.schindelin@gmx.de>
On 04/05/16 15:40, Johannes Schindelin wrote:
Show 61 quoted lines
> From: Erik Faye-Lund <kusmabite@googlemail.com> > > On Unix (and Linux) it is common that files and directories whose names > start with a dot are not shown by default. This convention is used by Git: > the .git/ directory should be left alone by regular users, and only > accessed through Git itself. > > On Windows, no such convention exists. Instead, there is an explicit flag > to mark files or directories as hidden. > > In the early days, Git for Windows did not mark the .git/ directory (or > for that matter, any file or directory whose name starts with a dot) > hidden. This lead to quite a bit of confusion, and even loss of data. > > Consequently, Git for Windows introduced the core.hideDotFiles setting, > with three possible values: true, false, and dotGitOnly, defaulting to > marking only the .git/ directory as hidden. > > The rationale: users do not need to access .git/ directly, and indeed (as > was demonstrated) should not really see that directory, either. However, > not all dot files should be hidden, as e.g. Eclipse does not show them > (and the user would therefore be unable to add, say, a .gitattributes > file). > > In over five years since the last attempt to bring this patch into core > Git, this patch has served Git for Windows' users well: no single report > indicated problems with the hidden .git/ directory, and the stream of > problems caused by the previously non-hidden .git/ directory simply > stopped. > > Initial-Test-By: Pat Thoyts <patthoyts@users.sourceforge.net> > Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> > --- > > Let's try this again (I will not point you to the previous > submission, out of personal embarrassment). > > This patch has served us so well in the Git for Windows project > that there is little sense in hiding it from core Git. > > Documentation/config.txt | 6 ++++++ > builtin/init-db.c | 1 + > cache.h | 7 +++++++ > compat/mingw.c | 38 ++++++++++++++++++++++++++++++++++++++ > config.c | 8 ++++++++ > environment.c | 1 + > git-compat-util.h | 4 ++++ > t/t0001-init.sh | 30 ++++++++++++++++++++++++++++++ > 8 files changed, 95 insertions(+) > > diff --git a/Documentation/config.txt b/Documentation/config.txt > index 42d2b50..a9f599d 100644 > --- a/Documentation/config.txt > +++ b/Documentation/config.txt > @@ -269,6 +269,12 @@ See linkgit:git-update-index[1]. > + > The default is true (when core.filemode is not specified in the config file). > > +core.hideDotFiles:: > + (Windows-only) If true (which is the default), mark newly-created
The patch (if I'm reading it correctly) and the commit message indicate that the default is 'dotGitOnly'.
> + directories and files whose name starts with a dot as hidden. > + If 'dotGitOnly', only the .git/ directory is hidden, but no other > + files starting with a dot. > +
ATB, Ramsay Jones