From: Jeff King Date: Thu, 18 Aug 2016 22:05:31 GMT Subject: Re: [PATCH 4/4] cat-file: support --textconv/--filters in batch mode 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: > With this patch, --batch can be combined with --textconv or --filters. > For this to work, the input needs to have the form > > > > 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