Re: [PATCH 4/4] cat-file: support --textconv/--filters in batch mode
- From
Jeff King <peff@peff.net>
- Date
- Aug 18, 2016, 22:05 UTC
- Message-ID
- <20160818220530.2dcsag4qeitia4ao@sigill.intra.peff.net>
- In-Reply-To
- <2315ae5ab6918a7c1567f11a64093a860983bc20.1471524357.git.johannes.schindelin@gmx.de>
On Thu, Aug 18, 2016 at 02:46:28PM +0200, Johannes Schindelin wrote:
Show 6 quoted lines
> With this patch, --batch can be combined with --textconv or --filters. > For this to work, the input needs to have the form > > <object name><single white space><path> > > so that the filters can be chosen appropriately.
The object name can have spaces in it, too. E.g.:
HEAD:path with spaces
or even:
:/grep for this
(as was pointed out to me when I tried to turn on %(rest) handling by default, long ago). How do those work with your patch?
It looks like the extra split isn't enabled unless one of those options is selected. Since --filters is new, that's OK for backwards compatibility. But --textconv isn't. So I think:
echo "HEAD:path with spaces" | git cat-file --textconv --batch
is regressed by this patch.
I wonder if we need an option specifically to say "the object name can be split". Right now it kicks in automatically if you use "%(rest)" in your format, but you might not care about passing along that output (e.g., a lot of times I am piping "rev-list" straight to cat-file, and I have to use a separate "cut" to throw away the pathnames).
-Peff