git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).