Merge branch 'jk/cat-file-batch-optim'
* jk/cat-file-batch-optim: Revert "cat-file: split --batch input lines on whitespace"
This commit is contained in:
commit
c7eb614c5c
@ -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.
|
||||
|
||||
`rest`::
|
||||
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;
|
||||
else
|
||||
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 data.rest.
|
||||
*/
|
||||
p = strpbrk(buf.buf, " \t");
|
||||
if (p) {
|
||||
while (*p && strchr(" \t", *p))
|
||||
*p++ = '\0';
|
||||
}
|
||||
data.rest = 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"
|
||||
|
Loading…
Reference in New Issue
Block a user