Re: [PATCH v3 2/4] cat-file: introduce the --filters option
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Sep 9, 2016, 16:01 UTC
- Message-ID
- <alpine.DEB.2.20.1609091800020.129229@virtualbox>
- In-Reply-To
- <xmqqfup9ds9p.fsf@gitster.mtv.corp.google.com>
Hi Junio,
On Fri, 9 Sep 2016, Junio C Hamano wrote:
Show 28 quoted lines
> 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);
> > + }
> > + }
>
> This needs to error out when mode is not ISREG just like it errors
> out when type is not BLOB.Are you sure that this is desirable in batch mode?
Ciao, Dscho