Re: [GSoC] Unify ref-filter formats with other --pretty formats
Show 7 quoted lines
> On Tue, Mar 26, 2019 at 2:48 AM Olga Telezhnaya <olyatelezhnaya@gmail.com> wrote:
>> Kapil Jain <jkapil.cs@gmail.com> 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 ?
Show 5 quoted lines
> > 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
> ref-filter.h.
where can format_ref_array_item() be reused ?
Show 6 quoted lines
> 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
> properly.
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 ?
Show 9 quoted lines
> > 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 [1].
> Another good question - what is object. You could ensure that you
> understand this by reading [2].
>
> [1] https://git-scm.com/docs/git-for-each-ref#_field_names
> [2] https://git-scm.com/book/en/v2/Git-Internals-Git-Objects