Re: [JGIT PATCH 2/2] Make Repository.isValidRefName compatible with Git 1.6.3
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 8, 2009, 00:32 UTC
- Message-ID
- <7vprekbfik.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <alpine.LFD.2.01.0905071620240.4983@localhost.localdomain>
Linus Torvalds <torvalds@linux-foundation.org> writes:
Show 23 quoted lines
> On Fri, 8 May 2009, Robin Rosenberg wrote:
>>
>> In 3e262b95c509 I taught C Git to disallow refs whose names end in
>> ".lock".
>
> Btw, I think we should revert that, and instead change our naming for
> lock-files.
>
> It's a silly limitation, and for a stupid reason, I think. I can well
> imagine people using a branch naming policy of using '.' instead of
> spaces, and then It makes perfect sense to call a branch "fix.vm.lock"
> when you have a VM locking issue you want to fix.
>
> So I think we should remove that stupid "*.lock" rule from the C version
> (and then obviously from the JGIT one too).
>
> Now, that leaves what we _should_ call the lock-files, and the only sane
> thing to do is to pick a sequence that is already invalid for other
> reasons. We could make the lockfile end in "..lock", for example (".." is
> not legal in names due to the confusion with the "a..b" range notation),
> or just end or begin with a "." (same issue, except "..." now).
>
> Or just make it end in '~' which is also invalid for similar reasons.I was tempted to go for the tilde, but then realized that
.git/config~
is a common thing to have in a repository owned by an Emacs user, and we do create with O_CREAT, so it is not such a good idea.
'..lck' may be a good name to use here.