From: Johan Herland <johan@herland.net>
To: Jeff King <peff@peff.net>
Cc: Yann Dirson <ydirson@free.fr>, git@vger.kernel.org
Subject: Re: [PATCH 6/6] RFC - Notes merge: die when asked to merge a non-existent ref.
Date: Mon, 20 Jun 2011 09:29:53 +0200 [thread overview]
Message-ID: <201106200929.53566.johan@herland.net> (raw)
In-Reply-To: <20110620071607.GB15246@sigill.intra.peff.net>
On Monday 20 June 2011, Jeff King wrote:
> On Mon, Jun 20, 2011 at 12:03:46AM +0200, Johan Herland wrote:
> > > + if (!peel_to_type(o.remote_ref, 0, NULL, OBJ_COMMIT))
> > > + die("'%s' does not point to a commit", o.remote_ref);
> >
> > Hmm. I'm not sure requiring the remote ref to always point to a
> > _commit_ is the right solution here. In previous discussions on the
> > notes topic, some people (Peff?) expressed a need/interest for
> > history-less notes refs (i.e. a notes tree where we don't keep track
> > of its development, but only refer to the latest/current version).
> > Obviously, there are two ways to implement history-less notes refs:
> > (a) making the notes ref point to a notes commit without any parents
> > (i.e. each notes commit is a root commit), or (b) making the notes ref
> > point directly at the notes _tree_ object (i.e. no commit object at
> > all).
> >
> > I can't remember off the top of my head whether our earlier discussions
> > on this topic resulted in us excluding support for option (b), but if
> > we didn't, it should be possible to merge notes refs where one or both
> > refs point directly at a tree object, and your above line would break
> > this.
>
> [...]
>
> I don't think there is any real reason for somebody to need a bare tree
> of notes. There is a certain elegance that refs can point directly to
> trees in git, but the overhead of a single commit object to wrap it is
> just not a big deal.
>
> I didn't test, but I doubt that "git merge" will handle bare trees; this
> would provide analagous behavior for notes-merging. But maybe I'm
> wrong.
You're not wrong. "git merge" when trying to merge a tree object:
$ git merge ee314a3
error: ee314a3: expected commit type, but the object dereferences to tree type
fatal: 'ee314a3' does not point to a commit
So I guess there's no reason to allow notes trees with no commit object.
Yann: Please disregard my complaint on the above two lines.
...Johan
--
Johan Herland, <johan@herland.net>
www.herland.net
next prev parent reply other threads:[~2011-06-20 7:30 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-13 7:09 Commit notes workflow Yann Dirson
2011-06-14 10:15 ` Johan Herland
[not found] ` <f81891b81d39.4df76a5c@bertin.fr>
2011-06-14 14:41 ` Johan Herland
2011-06-15 9:20 ` ydirson
2011-06-15 9:37 ` Johan Herland
2011-06-15 9:57 ` ydirson
2011-06-15 10:53 ` Johan Herland
2011-06-18 21:06 ` [PATCH 0/6] Small notes usability improvements Yann Dirson
2011-06-18 21:06 ` [PATCH 1/6] Bring notes.c template handling in line with commit.c Yann Dirson
2011-06-19 21:23 ` Johan Herland
2011-06-19 22:50 ` Junio C Hamano
2011-06-20 7:41 ` Johan Herland
2011-06-20 18:48 ` Yann Dirson
2011-06-21 19:39 ` Yann Dirson
2011-06-18 21:06 ` [PATCH 2/6] Factorize shortening of notes refname for display Yann Dirson
2011-06-19 21:25 ` Johan Herland
2011-06-19 22:51 ` Junio C Hamano
2011-06-20 18:49 ` Yann Dirson
2011-06-18 21:06 ` [PATCH 3/6] Include name of notes ref in template when creating/editing notes Yann Dirson
2011-06-18 21:06 ` [PATCH 4/6] Allow "git notes merge" to use refs/remote-notes/ as a source Yann Dirson
2011-06-19 21:45 ` Johan Herland
2011-06-18 21:06 ` [PATCH 5/6] Assume a note ref starting with refs must not be prepended refs/notes/ Yann Dirson
2011-06-18 21:06 ` [PATCH 6/6] RFC - Notes merge: die when asked to merge a non-existent ref Yann Dirson
2011-06-19 22:03 ` Johan Herland
2011-06-20 7:16 ` Jeff King
2011-06-20 7:29 ` Johan Herland [this message]
2011-06-19 22:06 ` [PATCH 0/6] Small notes usability improvements Johan Herland
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=201106200929.53566.johan@herland.net \
--to=johan@herland.net \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
--cc=ydirson@free.fr \
/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).