All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.