Re: [PATCH 0/4] git-notes ui fixes regarding non-blobs notes
- From
Jeff King <peff@peff.net>
- Date
- May 10, 2012, 14:29 UTC
- Message-ID
- <20120510142920.GA14711@sigill.intra.peff.net>
- In-Reply-To
- <1336658701-9004-1-git-send-email-pclouds@gmail.com>
On Thu, May 10, 2012 at 09:04:57PM +0700, Nguyen Thai Ngoc Duy wrote:
Show 5 quoted lines
> Thanks Jeff and Junio for all the comments. This is basically what you > (and I) agree in v1's thread. The first patch is a new one, to avoid > git-notes from converting everything to blobs. I don't restrict the > "show" case either because git-notes uses "git show", which is > capable of displaying all kinds of objects.
Nice, this is much better than the previous round.
I was surprised by the "git show" thing you mentioned, because I checked before that "git notes add -C HEAD^{tree}; git notes show" generated garbage. But the problem is that "-C $tree" was more broken than we realized. It actually copied the tree contents into a blob object, giving it a new sha1:
$ git rev-parse HEAD^{tree}
f799843170cdddbbdfec446e934bbccf94e0d2a7
$ git notes add -C HEAD^{tree}
$ git notes list HEAD
587521811b7a5b84ed7cb48d11f9321ddcefd337So it really was totally useless, and nobody could possibly have been using it to store a real tree object, experimental or otherwise. But I still like these patches better than just disallowing it, because they allow people to experiment with the idea.
It's a little odd that we rewrite the object in the "-C" case at all; we should never even need to open the object. I guess it is just to make the code paths between "-c" and "-C" simpler.
-Peff