Re: [GSoC] Unify ref-filter formats with other --pretty formats
- Date: Wed, 27 Mar 2019 22:31:26 +0530
- From: Kapil Jain <jkapil.cs@xxxxxxxxx>
- Subject: Re: [GSoC] Unify ref-filter formats with other --pretty formats
> On Tue, Mar 26, 2019 at 2:48 AM Olga Telezhnaya <olyatelezhnaya@xxxxxxxxx> wrote:
>> Kapil Jain <jkapil.cs@xxxxxxxxx> wrote:
> > Now, the verify_ref_format function can be used inside
> > get_commit_format function, hence reusing logic.
> > Is this a correct example to work on, for this project ?
> Hi! Yes, in my opinion your example looks like good starting point.
I read through the code of both functions, and I think they are different.
Please point out if I missed to see the similarity.
or may be it seemed that way, because they both deal with different formats.
So, first should a translating function (pretty to ref-filter) be written ?
> > Other than this I can't find any other example, for this project in
> > pretty.* and ref-filter.*
> > Perhaps some examples could be found in command specific files, right ?
> Other parts of the project are about reusing other ref-filter logic.
So, the project is not limited to reusing ref-filter logics in pretty,
it is about reusing ref-filter logic wherever possible, right ?
> For example, we could try to reuse format_ref_array_item() from
where can format_ref_array_item() be reused ?
> I haven't dig into pretty.c logic much, but I guess it
> is possible to translate "pretty" formatting commands to ref-filter
> ones. That will allow us to remove similar logic from pretty.c. Our
> final goal is to minimise code duplication and to have one unified
> interface to extract all needed data from object and to print it
I looked, and yes some, but not all pretty formats are translatable.
For example: %GP, %p, %P. are not translatable to ref-filter. or is
there a workaround to translate them ?
It looks like to reuse ref-filter logic, a translator from pretty to
ref-filter needs to be built.
So, building a translator would be a starting point ?
and then second step would be to recognise places where ref-filter can
be reused, right ?
> > what is atom ? is it a piece of a whole document ? and what is meant
> > by used atoms ?
> I had the same question in my beginning. Please have a look at .
> Another good question - what is object. You could ensure that you
> understand this by reading .
>  https://git-scm.com/docs/git-for-each-ref#_field_names
>  https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
Thanks, this helped.