Re: [PATCH] HEAD, ORIG_HEAD and FETCH_HEAD are really special.
- From
Alex Riesen <raa.lkml@gmail.com>
- Date
- Sep 8, 2007, 22:20 UTC
- Message-ID
- <20070908222059.GA5035@steel.home>
- In-Reply-To
- <7vabry43cg.fsf@gitster.siamese.dyndns.org>
Junio C Hamano, Fri, Sep 07, 2007 22:39:43 +0200:
Show 9 quoted lines
> Pierre Habouzit <madcoder@debian.org> writes: > > > I'd have added though that maybe update-ref should print a warning for > > the references that do not match the restriction Junio added. This could > > be done using the function Junio proposed un update_ref() in refs.c > > I would even suggest making it into an error, even if we do not > error out on the reading side (being liberal when reading but > more strict when creating, that is).
I agree (and suggest failing even on reading), but see below
> That confused_ref() needs to be tightened further, by the way. > It is called only when we are considering to tack the user > string immediately below $GIT_DIR/ so the only valid cases are > (1) the string begins with "refs/",
If that will be the case git-p4-import.bat (yes, just a script of mine) will break because it has its namespace directly in $GIT_DIR (i.e. .git/p4/*) and stores there backup references. It is just a someones (ok, it is mine) script, but maybe there are others, who expect that plumbing level git-update-ref just do what its told.
> or (2) the string is all uppercase (or underscore), especially > without slash.
I'd suggest just check for uppercase+underscore _or_ slash. It is plumbing after all.