On Sun, 23 Mar 2008, Johannes Schindelin wrote: > On Sat, 22 Mar 2008, Junio C Hamano wrote: > > > > > Steffen Prohaska <prohaska@xxxxxx> writes: > > > > >> I suppose autocrlf enabled by default could be useful for new > > >> repositories, but not for working with existing repositories. > > > > > > We changed the global default to a sane setting for cross-platform > > > projects to avoid such problems in the future. This means that from > > > now on git will take care that any repository newly created will have > > > sane line endings (LF in the repository; and CRLF in the work tree if > > > checked out on Windows respectively LF if checked out on Unix). > > > > I've always wondered why you guys used /etc/gitconfig instead of setting > > it in the templates (or a patch to git-init). > > > > I was against the idea of /etc/gitconfig from the very beginning (even > > before msysgit existed) in git.git itself, but this is a very good > > example why /etc/gitconfig is a bad idea. It affects _existing_ setups. > > > > How about fixing msys port so that it sets the configuration when the > > user initializes a _new_ repository, without breaking repositories the > > user has been happily using? > > Makes sense. Hmm. I am not convinced. Setting autocrlf for every repository limits the user's options to override the default. Currently we provide a global default and the user can either override globally for all his repositories or on a per-repository basis. Hence, users can decide that they want autocrlf to never happen and can easily set this in ~/.gitconfig. If we stored autocrlf in every newly created repository, the user would need to override our default again and again for every new repository. Maybe what we want is to conserve the setup that exists when a new repository is created. Changing autocrlf later is tricky because the work tree's line endings depend on the settings during checkout. Therefore, it makes sense to preserve the value of autocrlf that exists during the first checkout. In this regards autocrlf is different from, for example, author because author can be easily changed later without requiring any conversion of existing files in the work tree. Patch follows. Unfortunately the proposed change won't change the fact that existing msysgit setups still break. I still do not see an easy way to avoid this. Steffen -- 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