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