From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, "Torsten Bögershausen" <tboegi@web.de>,
"Jeff King" <peff@peff.net>
Subject: Re: [PATCH v2 2/4] cat-file: introduce the --filters option
Date: Wed, 31 Aug 2016 22:31:55 +0200 (CEST) [thread overview]
Message-ID: <alpine.DEB.2.20.1608312153030.129229@virtualbox> (raw)
In-Reply-To: <xmqqmvk2qcv8.fsf@gitster.mtv.corp.google.com>
Hi Junio,
On Wed, 24 Aug 2016, Junio C Hamano wrote:
> Johannes Schindelin <johannes.schindelin@gmx.de> writes:
>
> > +static int filter_object(const char *path, unsigned mode,
> > + const unsigned char *sha1,
> > + char **buf, unsigned long *size)
> > +{
> > + enum object_type type;
> > +
> > + *buf = read_sha1_file(sha1, &type, size);
> > + if (!*buf)
> > + return error(_("cannot read object %s '%s'"),
> > + sha1_to_hex(sha1), path);
> > + if (type != OBJ_BLOB) {
> > + free(*buf);
> > + return error(_("blob expected for %s '%s'"),
> > + sha1_to_hex(sha1), path);
> > + }
> > + if (S_ISREG(mode)) {
> > + struct strbuf strbuf = STRBUF_INIT;
> > + if (convert_to_working_tree(path, *buf, *size, &strbuf)) {
> > + free(*buf);
> > + *size = strbuf.len;
> > + *buf = strbuf_detach(&strbuf, NULL);
> > + }
> > + }
>
> When we see a blob that is not ISREG, what is expected to happen?
> Is it an error?
This is not a user-facing command, therefore we have to trust the caller
that they know what they are doing.
And it is quite conceivable that a caller wants to simply apply filters
whenever a blob is specified, and simply not apply any filters when
something else was specified.
That would be in line with specifying the --filters options on a path for
which no filters are configured: the --filters option is basically a
no-op, then.
> In any case, silently succeeding without any output is probably what
> the end-user least expects.
Except that 1) the command is not for an end-user, and 2) when calling
`git cat-file --filters HEAD:directory/` the command does not silently
succeed:
error: blob expected for <sha-1> 'directory/'
> If we choose to fail the request, the necessary update to the test
> would look like this, I think.
Quite frankly, as cat-file is not an end-user-facing command, I think it
is serious overkill to add more testing here.
Ciao,
Dscho
next prev parent reply other threads:[~2016-08-31 20:32 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-18 12:46 [PATCH 0/4] cat-file: optionally convert to worktree version Johannes Schindelin
2016-08-18 12:46 ` [PATCH 1/4] cat-file: fix a grammo in the man page Johannes Schindelin
2016-08-18 16:21 ` Junio C Hamano
2016-08-18 12:46 ` [PATCH 2/4] cat-file: introduce the --filters option Johannes Schindelin
2016-08-18 15:49 ` Torsten Bögershausen
2016-08-19 12:37 ` Johannes Schindelin
2016-08-19 16:06 ` Junio C Hamano
2016-08-18 16:37 ` Junio C Hamano
2016-08-19 12:49 ` Johannes Schindelin
2016-08-19 8:57 ` Torsten Bögershausen
2016-08-19 15:00 ` Johannes Schindelin
2016-08-19 16:06 ` Junio C Hamano
2016-08-22 16:51 ` Torsten Bögershausen
2016-08-24 8:00 ` Johannes Schindelin
2016-08-18 12:46 ` [PATCH 3/4] cat-file --textconv/--filters: allow specifying the path separately Johannes Schindelin
2016-08-18 16:52 ` Junio C Hamano
2016-08-19 14:49 ` Johannes Schindelin
2016-08-19 16:11 ` Junio C Hamano
2016-08-24 7:57 ` Johannes Schindelin
2016-08-18 12:46 ` [PATCH 4/4] cat-file: support --textconv/--filters in batch mode Johannes Schindelin
2016-08-18 15:42 ` Torsten Bögershausen
2016-08-19 12:25 ` Johannes Schindelin
2016-08-19 15:06 ` Jeff King
2016-08-19 16:19 ` Junio C Hamano
2016-08-18 17:08 ` Junio C Hamano
2016-08-19 12:59 ` Johannes Schindelin
2016-08-19 14:44 ` Jeff King
2016-08-18 22:05 ` Jeff King
2016-08-18 22:47 ` Junio C Hamano
2016-08-19 13:11 ` Johannes Schindelin
2016-08-19 13:09 ` Johannes Schindelin
2016-08-19 13:22 ` Jeff King
2016-08-24 12:23 ` [PATCH v2 0/4] cat-file: optionally convert to worktree version Johannes Schindelin
2016-08-24 12:23 ` [PATCH v2 1/4] cat-file: fix a grammo in the man page Johannes Schindelin
2016-08-24 12:23 ` [PATCH v2 2/4] cat-file: introduce the --filters option Johannes Schindelin
2016-08-24 17:46 ` Junio C Hamano
2016-08-24 17:52 ` Junio C Hamano
2016-08-31 20:31 ` Johannes Schindelin [this message]
2016-08-31 20:53 ` Junio C Hamano
2016-08-24 12:23 ` [PATCH v2 3/4] cat-file --textconv/--filters: allow specifying the path separately Johannes Schindelin
2016-08-24 17:49 ` Junio C Hamano
2016-08-24 18:25 ` Junio C Hamano
2016-08-31 19:49 ` Johannes Schindelin
2016-08-31 20:17 ` Junio C Hamano
2016-08-24 12:23 ` [PATCH v2 4/4] cat-file: support --textconv/--filters in batch mode Johannes Schindelin
2016-08-24 16:09 ` [PATCH v2 0/4] cat-file: optionally convert to worktree version Junio C Hamano
2016-08-24 16:19 ` Jeff King
2016-08-24 17:02 ` Junio C Hamano
2016-08-24 17:32 ` Jeff King
2016-08-24 17:55 ` Junio C Hamano
2016-08-29 21:02 ` Junio C Hamano
2016-08-31 20:34 ` Johannes Schindelin
2016-09-09 10:10 ` [PATCH v3 " Johannes Schindelin
2016-09-09 10:10 ` [PATCH v3 1/4] cat-file: fix a grammo in the man page Johannes Schindelin
2016-09-09 10:10 ` [PATCH v3 2/4] cat-file: introduce the --filters option Johannes Schindelin
2016-09-09 15:09 ` Junio C Hamano
2016-09-09 16:01 ` Johannes Schindelin
2016-09-09 16:08 ` Junio C Hamano
2016-09-09 17:16 ` Junio C Hamano
2016-09-09 17:26 ` Junio C Hamano
2016-09-10 7:57 ` Johannes Schindelin
2016-09-11 21:44 ` Junio C Hamano
2016-09-09 10:10 ` [PATCH v3 3/4] cat-file --textconv/--filters: allow specifying the path separately Johannes Schindelin
2016-09-09 18:06 ` Junio C Hamano
2016-09-10 7:59 ` Johannes Schindelin
2016-09-09 10:10 ` [PATCH v3 4/4] cat-file: support --textconv/--filters in batch mode Johannes Schindelin
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=alpine.DEB.2.20.1608312153030.129229@virtualbox \
--to=johannes.schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
--cc=tboegi@web.de \
/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.