Re: Buggy handling of non-canonical ref names
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 24, 2011, 18:40 UTC
- Message-ID
- <7vaaayps9z.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <4E551D70.9080509@alum.mit.edu>
Michael Haggerty <mhagger@alum.mit.edu> writes:
> What is the policy about reference names and their canonicalization?
The overall policy has been that we care about well-formed input, and everything else is "undefined", even though as you found out some of them try to work sensibly.
Show 5 quoted lines
> $ git check-ref-format /foo/bar ; echo $? > 0 > > $ git check-ref-format --print /foo/bar > /foo/bar
I think these are bogus. Patches welcome.
Show 9 quoted lines
> However, creating a reference with such a name is equivalent to creating > a reference without the leading slash: > > $ git update-ref /foo/bar HEAD > $ cat .git/foo/bar > ef6cf90ba11dd6205f8b974692d795ea0b1c0bdd > $ git branch /bar/baz > $ git for-each-ref | grep baz > ef6cf90ba11dd6205f8b974692d795ea0b1c0bdd commit refs/heads/bar/baz
These are just examples of "undefined being nice to the user as a bonus".