git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [GSoC] Hello Git

From
ZheNing Hu <adlternative@gmail.com>
Date
May 20, 2021, 07:14 UTC
Message-ID
<CAOLTT8TRqn5=SqEEnHdFaYi1U5XJXM_MrULfPVzAGPH9AjXk-w@mail.gmail.com>
In-Reply-To
<CAP8UFD0qQg9vfuDvjrc5amnw8w7NFBLEaJUwEksV08HBdFJ7LA@mail.gmail.com>
Christian Couder <christian.couder@gmail.com> 于2021年5月18日周二 下午10:32写道:
Show 19 quoted lines
>
> Hi ZheNing,
>
> On Tue, May 18, 2021 at 8:40 AM ZheNing Hu <adlternative@gmail.com> wrote:
> >
> > Hello,Git!
> >
> > ### Self introduction
> >
> > I'm ZheNing Hu, I am very lucky to participate in the GSoC
> > git project this year. Many people in the git community already
> > have given me a lot of help in the past few months.
> > Junio, Christian, Peff, Eric, Denton..., it's great to get along with
> > you guys! Your review and guidance have greatly benefited
> > my growth.
>
> We are very happy with your application to the GSoC with us, and with
> your work so far!
>
Thanks!
Show 21 quoted lines
> > But for now,
> > It seems that the parsing of full-named atoms in `pretty.c` is not very elegant.
> > E.g.
> >
> >    if (skip_prefix(placeholder, "(describe", &arg)) {
> >    ...
> >    }
> >
> >        if (skip_prefix(placeholder, "(trailers", &arg)) {
> >    ...
> >    }
> >
> > We should have an atom table like `valid_atom` in `ref-filter.c`,
> > but this is missing in `pretty.c`. So how do we complete the
> > unification of the two types of atoms now?
>
> Yeah, unifying pretty.c and ref-filter.c was the purpose of Hariom's
> GSoC last year, and there is still work to do on this, but you might
> want to focus on the format code used by git cat-file first, as that's
> what your project is about.
>

Oh, what you said makes sense. The refactoring of `cat-file --batch` using `ref-filter` logic seems to have little to do with the task of letting `ref-filter` learn short-name atoms at the time. I will shift the focus of my work

Show 12 quoted lines
> > 2. "50cfe1f([GSOC] ref-filter: introduce enum atom_type)" has
> > been merged into the `next` branch, should we focus on the
> > performance optimization of `ref-filter.c`? Finally, we can build a
> > `format_cat_file_item()` similar to `format_ref_array_item()`,
> > which should not be difficult. And we have to make sure that the
> > performance of `cat-file --batch` is not lower than before.
>
> I wonder if format_ref_array_item() could not just be used by
> batch_object_write() like Olga did it in:
>
> https://github.com/git/git/pull/568/commits/f911b342ae6503dc9f6f8e3c7df316aa45d97bdf
>

Thanks for the tip! Olga uses `format_cat_file_item()` in batch_object_write() , which may be the correct approach. Before that, we have to make ref-filter support "%(contents:raw)" (similar to Olga's "%(raw)") and "%(rest)".

Show 12 quoted lines
> > ### The connection between Git and the file system
> >
> > I am currently studying operating system course, git as a
> > file system on top of the file system.
> > There are many differences and similarities with ordinary
> > file systems. I am very curious about this knowledge, do
> > not know if there are any relevant reading materials?
>
> You might be interested in https://ostreedev.github.io/ostree/
>
> Best,
> Christian.

Thanks! -- ZheNing Hu

Previous: Christian CouderNext: Christian Couder
Message 3 of 8 in “[GSoC] Hello Git”
  1. ZheNing HuMay 18, 2021
  2. Christian CouderMay 18, 2021
  3. ZheNing HuMay 20, 2021
  4. Christian CouderMay 20, 2021
  5. ZheNing HuMay 20, 2021
  6. Christian CouderMay 20, 2021
  7. Jiang XinMay 19, 2021
  8. ZheNing HuMay 20, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.