@@ -85,7 +85,7 @@ for current functionality.
8585
8686A number of improvements could be made to both sub-commands:
8787
88- For ` git repo info ` , potential improvements include:
88+ ** For ` git repo info ` ** , potential improvements include:
8989
9090- Remove the dependency on ` the_repository ` global variable
9191- Use the category as key (e.g., ` git repo info layout ` would return all layout-related values)
@@ -104,12 +104,12 @@ For `git repo info`, potential improvements include:
104104
105105Some work to add path-related values
106106[ has already started] ( https://github.com/lucasoshiro/git/compare/master...repo-info-path/ ) ,
107- so completing that work might be a good starting point. It would require a
108- decision to be made on whether relative or absolute paths should be used .
107+ so completing that work might be a good starting point. A major design decision
108+ will need to be made on whether to use relative or absolute paths.
109109
110- For ` git repo structure ` , functionality from
110+ ** For ` git repo structure ` ** , functionality from
111111[ git-sizer] ( https://github.com/github/git-sizer ) could be added to provide
112- more detailed repository analysis.
112+ more detailed repository analysis and statistics .
113113
114114The goal of this project is to discuss possible improvements to
115115` git repo ` with the community, reach an agreement about the best
@@ -149,29 +149,36 @@ From around June 2024 to March 2025, work was undertaken by Eric Ju to add a
149149` remote-object-info ` sub-command to ` git cat-file ` . This client-side work
150150builds upon previous server-side work by Calvin Wan that was merged in 2021.
151151The feature allows clients to request information about objects from a remote
152- repository without downloading the full object content.
152+ repository without downloading the full object content, which can be especially
153+ useful for partial clones and large repositories.
153154
154155See the [ initial patch series] ( https://lore.kernel.org/git/20240628190503.67389-1-eric.peijian@gmail.com/ )
155156for the original proposal and discussion.
156157
157- The first goal of this project is to rebase and finalize Eric Ju's
158- patch series by addressing the remaining feedback, so that the
159- improved series can be merged.
158+ ** The first goal** of this project is to rebase and finalize Eric Ju's
159+ patch series by addressing the remaining feedback from the community review,
160+ so that the improved series can be merged into Git .
160161
161- The second goal is to build on top of that work to add support for
162+ ** The second goal** is to build on top of that work to add support for
162163object type information (` %(objecttype) ` ). This support should be
163164added both on the server side and on the client side, extending the
164- protocol to include this metadata.
165+ protocol to include this metadata and making it available to users.
166+
167+ This project involves both protocol design and implementation work, requiring
168+ careful attention to backward compatibility and performance considerations.
165169
166170** Getting started:** Build Git from source, study the existing ` git cat-file `
167- command and its batch modes, review Eric Ju's patch series and the community
168- feedback, understand Calvin Wan's merged server-side work from 2021, and
169- submit a micro-patch to demonstrate familiarity with the codebase.
171+ command and its batch modes (particularly ` --batch ` and ` --batch-check ` ),
172+ review Eric Ju's patch series and the community feedback in detail, understand
173+ Calvin Wan's merged server-side work from 2021, study the object-info protocol
174+ extension in ` Documentation/gitprotocol-v2.txt ` , and submit a micro-patch to
175+ demonstrate familiarity with the codebase.
170176
171177** Resources:**
172178- [ Eric Ju's patch series (June 2024)] ( https://lore.kernel.org/git/20240628190503.67389-1-eric.peijian@gmail.com/ )
173179- [ git-cat-file documentation] ( https://git-scm.com/docs/git-cat-file )
174- - Calvin Wan's server-side work (2021) - search mailing list archives
180+ - [ Git Protocol v2 documentation] ( https://git-scm.com/docs/gitprotocol-v2 )
181+ - Calvin Wan's server-side work (2021) - search Git mailing list archives
175182
176183_ Expected Project Size_ : 90 or 175 hours or 350 hours
177184
0 commit comments