On Sat, May 26, 2012 at 05:15:13PM +0700, Nguyen Thai Ngoc Duy wrote: > > So I consider it the lesser of two evils. The rule is much simpler: "old > > versions of git do not know about this new location". Which is > > unavoidable, and easier to explain than "Old versions of git do not know > > about this location. New versions do, but will sometimes ignore > > depending on whether this other file exists, which might have been > > created by an old version". > > We could amend Junio's version a bit: > > - if both versions exist, warn loudly (optionally refuse to work) and > suggest to symlink .gitconfig to .config/git/config Yeah, that might help. At the same time, it is not necessarily an error condition (e.g., if I track my ~/.config directory, but want to put one-offs in ~/.gitconfig. On the other hand, you can set that up manually with include.path = ~/.some-not-tracked-file, so maybe it is not a use case worth worrying about). > > 1. Start reading from the XDG location in addition to the old > > location. Always write to the old location. > > > > 2. Wait N time units until everybody reasonable has a version that > > does (1). > > > > 3. Start writing to the XDG location by default. Keep reading from the > > old version for compatibility. > > Hang on.. this "by default" is only for Linux, or for every other OS too? Sorry, I overstated a bit. It would be _safe_ to do step 3 like that after waiting N time units, but we could also do something much less drastic (like only writing to it when it exists, or when ~/.gitconfig does not exist, or whatever). And no, I wouldn't think following XDG on non-Linux machines would make much sense if no other programs on that platform do so (I don't know what OS X is like, but I can imagine nobody uses XDG paths on Windows). -Peff -- 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