From: Nicolas Pitre Date: Fri, 07 Sep 2007 16:29:01 GMT Subject: Re: [PATCH] HEAD, ORIG_HEAD and FETCH_HEAD are really special. Message-ID: In-Reply-To: <1189181313.30308.97.camel@koto.keithp.com> On Fri, 7 Sep 2007, Keith Packard wrote: > On Fri, 2007-09-07 at 04:21 -0700, Junio C Hamano wrote: > > > This patch brings in a new world order by introducing a backward > > incompatible change. When the string the user gave us does not > > contain any slash, we do not apply the first entry (i.e. > > directly underneath .git/ without any "refs/***") unless the > > name consists solely of uppercase letters or an underscore, > > thereby ignoring .git/master. The ones we often use, such as > > HEAD and ORIG_HEAD are not affected by this change. > > It seems to me that instead of introducing an incompatible (but probably > useful) change, a sensible option would be to have the ambiguous > reference be an error instead of a warning. One shouldn't be encouraged > to use names in .git that conflict with stuff in refs/heads anyway. I agree. IMHO the sensible thing to do is to always warn, and error out by default. I see no advantage for core.warnAmbiguousRefs=false other than allow the user to shoot himself in the foot someday. Instead, we should have core.allowAmbiguousRefs set to off by default. Nicolas