Commit c7eb614c authored by Junio C Hamano's avatar Junio C Hamano

Merge branch 'jk/cat-file-batch-optim'

* jk/cat-file-batch-optim:
  Revert "cat-file: split --batch input lines on whitespace"
parents 304852fc 062aeee8
......@@ -88,10 +88,8 @@ BATCH OUTPUT
If `--batch` or `--batch-check` is given, `cat-file` will read objects
from stdin, one per line, and print information about them.
Each line is split at the first whitespace boundary. All characters
before that whitespace are considered as a whole object name, and are
parsed as if given to linkgit:git-rev-parse[1]. Characters after that
whitespace can be accessed using the `%(rest)` atom (see below).
Each line is considered as a whole object name, and is parsed as if
given to linkgit:git-rev-parse[1].
You can specify the information shown for each object by using a custom
`<format>`. The `<format>` is copied literally to stdout for each
......@@ -112,10 +110,6 @@ newline. The available atoms are:
The size, in bytes, that the object takes up on disk. See the
note about on-disk sizes in the `CAVEATS` section below.
The text (if any) found after the first run of whitespace on the
input line (i.e., the "rest" of the line).
If no format is specified, the default format is `%(objectname)
%(objecttype) %(objectsize)`.
......@@ -119,7 +119,6 @@ struct expand_data {
enum object_type type;
unsigned long size;
unsigned long disk_size;
const char *rest;
* If mark_query is true, we do not expand anything, but rather
......@@ -164,9 +163,6 @@ static void expand_atom(struct strbuf *sb, const char *atom, int len,
data->info.disk_sizep = &data->disk_size;
strbuf_addf(sb, "%lu", data->disk_size);
} else if (is_atom("rest", atom, len)) {
if (!data->mark_query && data->rest)
strbuf_addstr(sb, data->rest);
} else
die("unknown format element: %.*s", len, atom);
......@@ -277,21 +273,7 @@ static int batch_objects(struct batch_options *opt)
warn_on_object_refname_ambiguity = 0;
while (strbuf_getline(&buf, stdin, '\n') != EOF) {
char *p;
int error;
* Split at first whitespace, tying off the beginning of the
* string and saving the remainder (or NULL) in
p = strpbrk(buf.buf, " \t");
if (p) {
while (*p && strchr(" \t", *p))
*p++ = '\0';
} = p;
error = batch_one_object(buf.buf, opt, &data);
int error = batch_one_object(buf.buf, opt, &data);
if (error)
return error;
......@@ -78,13 +78,6 @@ $content"
echo $sha1 | git cat-file --batch-check="%(objecttype) %(objectname)" >actual &&
test_cmp expect actual
test_expect_success '--batch-check with %(rest)' '
echo "$type this is some extra content" >expect &&
echo "$sha1 this is some extra content" |
git cat-file --batch-check="%(objecttype) %(rest)" >actual &&
test_cmp expect actual
hello_content="Hello World"
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment