Re: Git in GSoC 2014 Suggestion: core.filemode always false for cygwin
- From
Torsten Bögershausen <tboegi@web.de>
- Date
- Feb 26, 2014, 17:15 UTC
- Message-ID
- <530E2146.1000003@web.de>
- In-Reply-To
- <20140225154158.GA9038@sigill.intra.peff.net>
On 2014-02-25 16.41, Jeff King wrote:
> I'm pleased to announce that Git has been accepted to this year's Google > Summer of Code.
I'm not sure if this is the right way to propose mini projects, but in case the answer is not no, may I suggest one:
Motivation, the problem: Since commit c28facd216b501d41ca76f "cygwin: stop forcing core.filemode=false" Git under cygwin initializes repos with core.filemode = true under NTFS
This allows a smooth workflow, when e.g. *.sh files are pushed and pulled between Cygwin, Linux/Unix or Mac OS.
However when I visit such a repo under Mingw, then Mingw reads core.filemode =true, but is unable to detect whether the X-bit is set, and reads it as not set.
Therefore "git status" thinks that e.g. all *.sh files have lost the executable bit, abd reports them as changed.
Proposal: Under Mingw, keep trust_executable_bit always false, regardless what core.filemode says. Activate NO_TRUSTABLE_FILEMODE in config.mak.uname for Mingw (currently it is not used to anything)
Keep the logic in init-db.c to initialize core.filemode = false under Mingw
Language: C Difficulty: easy