From: Lea Wiemann <lewiemann@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jakub Narebski <jnareb@gmail.com>, git@vger.kernel.org
Subject: Re: [PATCH] gitweb: return correct HTTP status codes
Date: Tue, 17 Jun 2008 16:04:25 +0200 [thread overview]
Message-ID: <4857C469.1000401@gmail.com> (raw)
In-Reply-To: <7vy75580p1.fsf@gitster.siamese.dyndns.org>
Junio C Hamano wrote:
> It's up to you to work on 'next' or 'master with extra patches'.
Okay; I guess I'll use 'next with extra patches'. ;-)
> [Gitweb's error handling:] isn't it possible for you to unconfuse
> yourself in a slow path and figure out exactly why it failed?
>
> unless (open $fd, '-|', ls-tree $base -- $path) {
> # Oh, an error? why?
> if (!object_exists($base)) { [...]
> } elsif (!is_a_treeish($base)) { [...]
That's possible, but the API I'm writing is designed the other way
round: First, get the hash & type of $base; if it fails or the type is
wrong, die accordingly. Then pass the hash you got into whatever call
to git, and if that fails, you can quite safely assume that something
serious went wrong. (The example above has an additional $path to deal
with, but you get the idea.)
IOW, the strategy is "don't let the git binaries resolve any object
names for you", which should make both error handling and caching a lot
easier.
-- Lea
next prev parent reply other threads:[~2008-06-17 14:05 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-15 21:15 [PATCH] gitweb: return correct HTTP status codes Lea Wiemann
2008-06-15 22:48 ` Jakub Narebski
2008-06-16 15:57 ` Lea Wiemann
2008-06-16 16:43 ` Jakub Narebski
2008-06-16 21:49 ` Lea Wiemann
2008-06-16 22:34 ` Jakub Narebski
2008-06-17 13:53 ` Lea Wiemann
2008-06-16 22:38 ` Junio C Hamano
2008-06-17 14:04 ` Lea Wiemann [this message]
2008-06-17 14:33 ` Jakub Narebski
2008-06-17 22:28 ` Lea Wiemann
2008-06-17 22:54 ` Jakub Narebski
2008-06-17 23:47 ` Lea Wiemann
2008-06-18 0:12 ` Jakub Narebski
2008-06-18 1:25 ` Lea Wiemann
2008-06-18 7:35 ` Jakub Narebski
2008-06-16 23:37 ` Jakub Narebski
2008-06-18 0:15 ` [PATCH] gitweb: standarize " Lea Wiemann
2008-06-19 0:51 ` [PATCH v2] " Jakub Narebski
2008-06-19 19:08 ` Lea Wiemann
2008-06-19 20:03 ` [PATCH v3] " Lea Wiemann
2008-06-19 20:25 ` Lea Wiemann
2008-06-19 22:37 ` Jakub Narebski
2008-06-20 0:48 ` Junio C Hamano
2008-06-19 22:22 ` [PATCH v2] " Jakub Narebski
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=4857C469.1000401@gmail.com \
--to=lewiemann@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.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).