From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] symbolic ref: refuse non-ref targets in HEAD
Date: Thu, 29 Jan 2009 03:01:45 -0500 [thread overview]
Message-ID: <20090129080145.GA777@coredump.intra.peff.net> (raw)
In-Reply-To: <7vljsuh7kf.fsf@gitster.siamese.dyndns.org>
On Wed, Jan 28, 2009 at 11:53:20PM -0800, Junio C Hamano wrote:
> I generally do not like adding artificial limitation to plumbing like this
> patch does, because the end user making silly mistake using plumbing is a
> sign that there was something lacking in the Porcelain.
Nor do I. I only propose it in this case because
1. We cannot possibly be hurting somebody's workflow, since it
produces nonsensical results currently.
2. The damage it does is so annoying to recover from.
I have no problem with symbolic-ref eventually learning to handle these
situations in some more sane manner; in the meantime, I think it makes
sense to prevent nasty breakage. And I don't think we're closing any
doors for the future; the behavior will switch from "you aren't allowed
to do this" to "does something sensible".
> But for this particular case, I do not think any future usage of
> symbolic-ref plubming will get inconvenienced with the change. I would
> even suggest making the check tighter to insist on refs/heads/ (not just
> refs/) and tighten validate_headref() in path.c to match.
Reasonable. Updated series to follow.
> > Please beware that running the test script on the current "master" will
> > actually hose your git repo (test 3 kills the trash directory's
> > .git/HEAD, which means test 4 thinks your parent .git/ is its current
> > repo). Maybe it makes sense to do a precautionary reset in between.
>
> In addition, perhaps it may make sense to use test_create_repo to go one
> level deeper before starting to play around, so that trash directory's
> repository will prevent you from going any further up.
That sort of helps, but only by luck. Each test kills off one layer of
repo. So the first one kills the test_create_repo, and the second one
kills the trash directory. Adding another test would kill off the main
repo. :) So you have to do something per-test. I'll do that in the
re-roll.
-Peff
next prev parent reply other threads:[~2009-01-29 8:03 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-29 4:52 [PATCH] symbolic ref: refuse non-ref targets in HEAD Jeff King
2009-01-29 7:53 ` Junio C Hamano
2009-01-29 8:01 ` Jeff King [this message]
2009-01-29 8:30 ` [PATCH 1/2] validate_headref: tighten ref-matching to just branches Jeff King
2009-01-29 8:33 ` [PATCH 2/2] symbolic ref: refuse non-ref targets in HEAD Jeff King
2009-01-29 8:34 ` [PATCH] " Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090129080145.GA777@coredump.intra.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).