On Thu, May 26, 2016 at 11:41:12PM -0500, Edward Thomson wrote: > On Wed, May 25, 2016 at 12:36:55AM -0700, Junio C Hamano wrote: > > > > At the design level, I have a few comments. > > Thanks, I will submit a new patch that incorporates your (and dscho's) > comments. > > > * This is about a repository with core.filemode=0; I wonder if > > something for a repository with core.symlinks=0 would also help? > > That is, would it be a big help to users if they can prepare a > > text file that holds symbolic link contents and add it as if it > > were a symlink with "git add", instead of having to run two > > commands, "hash-objects && update-index --cacheinfo"? > > I think that this is much less common and - speaking only from personal > experience - nobody has ever asked me how to stage a symlink on a > Windows machine. I think that this is due to the fact that symlinks on > Windows are basically impossible to use, so people doing cross-platform > development wouldn't even try. > > On the other hand, it's quite common for cross-platform teams to use > some scripting language since those do work across platforms, and > Windows users would want to add new scripts as executable for the > benefit of their brethren on platforms with an executable bit. > > > * I am not familiar with life on filesystems with core.filemode=0; > > do files people would want to be able to "add --chmod=+x" share > > common trait that can be expressed with .gitattributes mechanism? > > Perhaps... It would not be things like `*.bat` or `*.exe` - Windows > gets those as executable "for free" and would not care about adding the > execute bit on those files (since they're not executable anywhere else). > It would be items like `*.sh` or `*.rb` that should be executable on > POSIX platforms. > > However I do not think that this is a common enough action that it needs > to be made automatic such that when I `git add foo.rb` it is > automatically made executable. Moreover, *.sh, *.rb, etc. are not necessarily meant to be executables. The files might be modules, included from executables or other modules. There's an example of this right in the git tree: t/test-lib.sh. It's even more typical for *.rb files (or *.py, etc.) However, the common pattern that /might/ be interesting for automatic executable bits is files starting with "#!". Mike -- 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