summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlga Telezhnaya <olyatelezhnaya@gmail.com>2018-02-12 08:08:54 +0000
committerJunio C Hamano <gitster@pobox.com>2018-02-12 15:03:58 -0800
commitdb056a2fce9ca2186a00fe95278787f8e387a350 (patch)
treefef011d268d98a5919bf521b6d9caa8b3dbe8d50
parentd37763b0fd27d3dba79e28db84e28e2fa249f7cc (diff)
downloadgit-db056a2fce9ca2186a00fe95278787f8e387a350.tar.gz
ref-filter: unifying formatting of cat-file opts
cat-file options are now filled by general logic. Signed-off-by: Olga Telezhnaia <olyatelezhnaya@gmail.com> Mentored-by: Christian Couder <christian.couder@gmail.com> Mentored by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--ref-filter.c33
1 files changed, 16 insertions, 17 deletions
diff --git a/ref-filter.c b/ref-filter.c
index dfa8ac704c..7aedd2dce8 100644
--- a/ref-filter.c
+++ b/ref-filter.c
@@ -824,8 +824,12 @@ static void grab_common_values(struct atom_value *val, int deref, struct object
else if (!strcmp(name, "objectsize")) {
v->value = sz;
v->s = xstrfmt("%lu", sz);
- }
- else if (deref)
+ } else if (!strcmp(name, "objectsize:disk")) {
+ if (cat_file_info.is_cat_file) {
+ v->value = cat_file_info.disk_size;
+ v->s = xstrfmt("%"PRIuMAX, (uintmax_t)v->value);
+ }
+ } else if (deref)
grab_objectname(name, obj->oid.hash, v, &used_atom[i]);
}
}
@@ -1465,21 +1469,7 @@ static int populate_value(struct ref_array_item *ref)
name++;
}
- if (cat_file_info.is_cat_file) {
- if (starts_with(name, "objectname"))
- v->s = oid_to_hex(&ref->oid);
- else if (starts_with(name, "objecttype"))
- v->s = typename(ref->type);
- else if (starts_with(name, "objectsize")) {
- v->s = xstrfmt("%lu", ref->size);
- } else if (starts_with(name, "objectsize:disk")) {
- v->s = xstrfmt("%"PRIuMAX, (uintmax_t)ref->disk_size);
- } else if (starts_with(name, "rest"))
- v->s = ref->rest;
- else if (starts_with(name, "deltabase"))
- v->s = xstrdup(oid_to_hex(ref->delta_base_oid));
- continue;
- } else if (starts_with(name, "refname"))
+ if (starts_with(name, "refname"))
refname = get_refname(atom, ref);
else if (starts_with(name, "symref"))
refname = get_symref(atom, ref);
@@ -1535,6 +1525,15 @@ static int populate_value(struct ref_array_item *ref)
else
v->s = " ";
continue;
+ } else if (starts_with(name, "rest")) {
+ v->s = ref->rest ? ref->rest : "";
+ continue;
+ } else if (starts_with(name, "deltabase")) {
+ if (ref->delta_base_oid)
+ v->s = xstrdup(oid_to_hex(ref->delta_base_oid));
+ else
+ v->s = "";
+ continue;
} else if (starts_with(name, "align")) {
v->handler = align_atom_handler;
continue;