From: Johan Herland <johan@herland.net>
To: Jakub Narebski <jnareb@gmail.com>
Cc: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>,
git@vger.kernel.org,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH 1/4] gitweb: notes feature
Date: Sun, 07 Feb 2010 02:48:03 +0100 [thread overview]
Message-ID: <201002070248.03855.johan@herland.net> (raw)
In-Reply-To: <201002070220.36897.jnareb@gmail.com>
On Sunday 07 February 2010, Jakub Narebski wrote:
> On Sat, 6 Feb 2010, Giuseppe Bilotta wrote:
> > On the other hand, as mentioned by Junio, this approach is not
> > future-proof enough for any kind of fan-out schemes.
>
> On the third hand ;-P you propose below a trick to deal with fan-out
> schemes, assuming that they use 2-character component breaking.
The current notes code (as it stands in 'pu') use only 2-character component
breaking, and I don't see any other fanout mechanism being added anytime
soon.
> Also, perhaps "git notes show" should acquire --batch / --batch-check
> options, similar to git-cat-file's options of the same name?
I'd much rather have support for ^{notes} (or similar) in the rev-parse
machinery, so that you could look up deadbeef's notes by passing
"deadbeef^{notes}" to 'git cat-file --batch'.
> > What worries me is that you're going to get fan-outs when there are
> > LOTS of notes, and that's precisely the kind of situation where you
> > _don't_ want to go through all the notes to pick the ones you're only
> > interested in.
>
> Right. This method would be contrary to the goals of fan-out schemes...
> well, we could use 'git ls-tree' without '-r' option, or simply
> 'git cat-file --batch' to read trees (note that we would get raw,
> unformatted tree, which is parseable with Perl, but it is not that easy),
> and go down level-by-level.
IMHO, it's much better/nicer to re-use the notes code for parsing note
trees. See above suggestion on deadbeef^{notes}.
> > If we have a guarantee that the fan-outs follow a 2/[2/...] scheme,
> > the open2 approach might still be the best way to go, by just trying
> > not only namespace:xxxxx...xxx but also namespace:xx/xxxxx etc.
> > Horrible, but could still be coalesced in a single call. It mgiht also
> > be optimized to stop at the first successfull hit in a namespace.
>
> Nice trick! It seems like quite a good idea... but it would absolutely
> require using 'git cat-file --batch' rather than one git-show per try.
Still, I'd still much rather use the notes.c code itself for doing this
since it should always be the fastest (not to mention future-proof) way of
making lookups in the notes tree.
...Johan
--
Johan Herland, <johan@herland.net>
www.herland.net
next prev parent reply other threads:[~2010-02-07 2:01 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-04 16:18 [PATCH 0/4] gitweb: preliminary notes support Giuseppe Bilotta
2010-02-04 16:18 ` [PATCH 1/4] gitweb: notes feature Giuseppe Bilotta
2010-02-04 16:33 ` Junio C Hamano
2010-02-04 16:46 ` Junio C Hamano
2010-02-04 17:21 ` Jakub Narebski
2010-02-04 20:08 ` Giuseppe Bilotta
2010-02-04 21:03 ` Junio C Hamano
2010-02-04 23:38 ` Giuseppe Bilotta
2010-02-05 10:36 ` Johan Herland
2010-02-05 16:10 ` Junio C Hamano
2010-02-05 21:31 ` Giuseppe Bilotta
2010-02-05 22:31 ` Junio C Hamano
2010-02-06 8:16 ` Giuseppe Bilotta
2010-02-04 21:07 ` Junio C Hamano
2010-02-04 23:20 ` Jakub Narebski
2010-02-05 0:44 ` Jakub Narebski
2010-02-05 0:55 ` Junio C Hamano
2010-02-05 8:42 ` Giuseppe Bilotta
2010-02-05 23:44 ` Jakub Narebski
2010-02-06 9:02 ` Giuseppe Bilotta
2010-02-06 22:14 ` Jakub Narebski
2010-02-06 22:58 ` Giuseppe Bilotta
2010-02-07 1:20 ` Jakub Narebski
2010-02-07 1:38 ` Jakub Narebski
2010-02-07 1:48 ` Johan Herland [this message]
2010-02-07 11:08 ` Jakub Narebski
2010-02-07 11:14 ` Giuseppe Bilotta
2010-02-07 12:41 ` Jakub Narebski
2010-02-07 18:38 ` Junio C Hamano
2010-02-07 20:11 ` Giuseppe Bilotta
2010-02-07 21:08 ` Jakub Narebski
2010-02-07 10:57 ` Giuseppe Bilotta
2010-02-07 11:11 ` Jakub Narebski
2010-02-04 16:18 ` [PATCH 2/4] gitweb: show notes in shortlog view Giuseppe Bilotta
2010-02-06 0:18 ` Jakub Narebski
2010-02-06 9:24 ` Giuseppe Bilotta
2010-02-04 16:18 ` [PATCH 3/4] gitweb: show notes in log Giuseppe Bilotta
2010-02-06 12:57 ` Jakub Narebski
2010-02-06 13:14 ` Giuseppe Bilotta
2010-02-06 21:47 ` Jakub Narebski
2010-02-04 16:18 ` [PATCH 4/4] gitweb: show notes in commit(diff) view Giuseppe Bilotta
2010-02-06 13:16 ` Jakub Narebski
2010-02-06 14:15 ` Giuseppe Bilotta
2010-02-06 14:34 ` Jakub Narebski
2010-02-06 16:13 ` Giuseppe Bilotta
2010-02-06 21:50 ` Jakub Narebski
2010-02-06 22:17 ` Giuseppe Bilotta
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=201002070248.03855.johan@herland.net \
--to=johan@herland.net \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=giuseppe.bilotta@gmail.com \
--cc=jnareb@gmail.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).