Jeff King <peff@xxxxxxxx> writes: > 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 >> >> <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 When I wrote my review, I didn't consider this use case. There is no -z format in --batch, which is unfortunate. If we had one, it would trivially make it possible to do so, and we can even have paths with LF in them ;-). On the other hand, producing a NUL separated input is a chore. Perhaps a new and separate option that is similar to "--batch" but lacks support for %(rest) and accepts _ONLY_ 40-hex as object name is the best we can do, then? > (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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html