ref-filter: add short
modifier to 'parent' atom
Sometimes while using 'parent' atom, user might want to see abbrev hash instead of full 40 character hash. Just like 'objectname', it might be convenient for users to have the `:short` and `:short=<length>` option for printing 'parent' hash. Let's introduce `short` option to 'parent' atom. Mentored-by: Christian Couder <chriscool@tuxfamily.org> Mentored-by: Heba Waly <heba.waly@gmail.com> Signed-off-by: Hariom Verma <hariom18599@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
837adb102f
commit
26bc0aaf99
@ -498,7 +498,7 @@ static struct {
|
||||
{ "objectname", SOURCE_OTHER, FIELD_STR, oid_atom_parser },
|
||||
{ "deltabase", SOURCE_OTHER, FIELD_STR, deltabase_atom_parser },
|
||||
{ "tree", SOURCE_OBJ, FIELD_STR, oid_atom_parser },
|
||||
{ "parent", SOURCE_OBJ },
|
||||
{ "parent", SOURCE_OBJ, FIELD_STR, oid_atom_parser },
|
||||
{ "numparent", SOURCE_OBJ, FIELD_ULONG },
|
||||
{ "object", SOURCE_OBJ },
|
||||
{ "type", SOURCE_OBJ },
|
||||
@ -1011,14 +1011,14 @@ static void grab_commit_values(struct atom_value *val, int deref, struct object
|
||||
v->value = commit_list_count(commit->parents);
|
||||
v->s = xstrfmt("%lu", (unsigned long)v->value);
|
||||
}
|
||||
else if (!strcmp(name, "parent")) {
|
||||
else if (starts_with(name, "parent")) {
|
||||
struct commit_list *parents;
|
||||
struct strbuf s = STRBUF_INIT;
|
||||
for (parents = commit->parents; parents; parents = parents->next) {
|
||||
struct commit *parent = parents->item;
|
||||
struct object_id *oid = &parents->item->object.oid;
|
||||
if (parents != commit->parents)
|
||||
strbuf_addch(&s, ' ');
|
||||
strbuf_addstr(&s, oid_to_hex(&parent->object.oid));
|
||||
strbuf_addstr(&s, do_grab_oid("parent", oid, &used_atom[i]));
|
||||
}
|
||||
v->s = strbuf_detach(&s, NULL);
|
||||
}
|
||||
|
Reference in New Issue
Block a user