From: Junio C Hamano <gitster@pobox.com>
To: Lea Wiemann <lewiemann@gmail.com>
Cc: Jakub Narebski <jnareb@gmail.com>, git@vger.kernel.org
Subject: Re: [PATCH] gitweb: use Git.pm, and use its parse_rev method for git_get_head_hash
Date: Sun, 01 Jun 2008 22:35:46 -0700 [thread overview]
Message-ID: <7vbq2k9z65.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <200806020019.23858.jnareb@gmail.com> (Jakub Narebski's message of "Mon, 2 Jun 2008 00:19:23 +0200")
Jakub Narebski <jnareb@gmail.com> writes:
> On Sat, 31 May 2008, Lea Wiemann wrote:
> ...
>> So you end up with these layers:
>>
>> (Layer 0: Front-end [HTML] caching.)
>> Layer 1: Application (Gitweb)
>> Layer 2: Back-end caching
>> Layer 3: Repository access (command parsing)
>> Layer 4: Calls to the git binary
>>
>> Layer 3 and 4 are application-independent (i.e. not Gitweb specific),
>> and since they form a usable API, they might as well be written as a
>> separate API rather than lumped together with Gitweb. Git.pm is a start
>> of such an API (it does layer 4 and a little bit of layer 3), so it
>> seems natural for me to extend it.
>
> This assumes that command parsing used by gitweb are generic enough
> to put them in Git.pm. But some IMVHO are very gitweb-specific, for
> example the part in parse_commit_text() beginning with
> # remove leading stuff of merges to make the interesting part visible
> and the 'age_string*' keys there, parse_difftree_raw_line() which
> currently does not support '-z' output, parse_from_to_diffinfo() which
> is _very_ gitweb specific, git_get_heads_list() which is not generic
> enough (it gets info which gitweb needs, but no more), etc.
>
>> Layer 2 is application-independent as well, so it can become an extra
>> class in Git.pm or a separate module. (It should stay independent of
>> layers 3 and 4).
>
> I think it would be better as separate module. Would it be Git::Cache
> (or Git::Caching), Gitweb::Cache, or part of gitweb, that would have
> to be decided. Besides, I'm not sure if it is really application-
> -independent as you say: I think we would get better result if we
> collate data first, which is application dependent. Also I think
> there is no sense to cache everything: what to cache is again
> application dependent.
Even though I (for some unknown reason) rarely agree with Jakub on this
list, I agree 100% with the above paragraph. In fact I yesterday started
to write exactly the same thing but I could not word it well enough, and I
am glad Jakub said what I wanted to say in a form that is much clearer
than I would have ;-).
next prev parent reply other threads:[~2008-06-02 5:36 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-30 23:00 [PATCH] gitweb: use Git.pm, and use its parse_rev method for git_get_head_hash Lea Wiemann
2008-05-30 23:03 ` Lea Wiemann
2008-05-31 9:40 ` Jakub Narebski
2008-05-31 12:39 ` Lea Wiemann
2008-06-01 22:19 ` Jakub Narebski
2008-06-02 5:35 ` Junio C Hamano [this message]
2008-06-02 9:29 ` Petr Baudis
2008-06-02 21:32 ` Jakub Narebski
2008-06-02 22:31 ` Lea Wiemann
2008-05-31 13:04 ` Petr Baudis
2008-05-31 14:19 ` [PATCH v2] " Lea Wiemann
2008-05-31 14:34 ` Lea Wiemann
2008-06-01 8:23 ` Junio C Hamano
2008-06-01 15:44 ` Lea Wiemann
2008-06-01 21:33 ` Junio C Hamano
2008-06-01 22:16 ` [PATCH] test-lib.sh: set PERL5LIB instead of GITPERLLIB Lea Wiemann
2008-06-02 5:17 ` Junio C Hamano
2008-06-02 14:08 ` Lea Wiemann
2008-06-02 14:13 ` [PATCH v2] " Lea Wiemann
2008-06-02 20:01 ` Junio C Hamano
2008-06-02 22:19 ` Lea Wiemann
2008-06-03 0:20 ` [PATCH] " Lea Wiemann
2008-06-01 23:18 ` [PATCH v2] gitweb: use Git.pm, and use its parse_rev method for git_get_head_hash Lea Wiemann
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=7vbq2k9z65.fsf@gitster.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=jnareb@gmail.com \
--cc=lewiemann@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 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.