@@ -151,7 +151,7 @@ Objects are fetched on-demand from "promisor remotes" as needed. However, over t
151151clients may accumulate large local blobs that are no longer needed but remain on disk,
152152and currently there's no easy way to reclaim this space.
153153
154- This project aims to improve ` git- backfill ` (or create a new command) to allow
154+ This project aims to improve ` git backfill ` (or create a new command) to allow
155155clients to remove large local blobs when they are available on a promisor remote.
156156This would help users who want to get back disk space while maintaining the ability
157157to re-fetch objects when needed.
@@ -162,6 +162,12 @@ The project involves:
162162- Ensuring removed objects can be transparently re-fetched when needed
163163- Adding appropriate safeguards and user controls
164164
165+ ** Important note:** While the project mentions ` git backfill ` , it is not yet
166+ decided that it is right place to have this command. Other potential candidates
167+ for placement are ` git gc ` / ` git repack ` / ` git maintenance ` . A design discussion
168+ with the community is imminent as part of this project to finalize the most
169+ appropriate placement and for this command.
170+
165171** Getting started:** Build Git from source, set up a partial clone and experiment
166172with promisor remotes, study the existing ` git-backfill ` command (if available)
167173or related functionality, understand how Git tracks and fetches objects from
@@ -200,12 +206,10 @@ This project aims to implement a fetch ordering mechanism for multiple promisor
200206remotes. The order could be:
201207- Configured locally by the client
202208- Advertised by servers through the promisor-remote protocol
203- - Determined dynamically based on network conditions or other heuristics
204209
205210The key challenge is designing a flexible system that allows servers to
206211communicate their preferred fetch order to clients (to ensure optimal
207- performance and cost management) while still allowing client-side overrides
208- when appropriate.
212+ performance and cost management).
209213
210214** Getting started:** Build Git from source, set up a repository with multiple
211215promisor remotes and experiment with object fetching, study how Git currently
@@ -330,53 +334,3 @@ _Possible mentors_:
330334* Lucas Seiki Oshiro < lucasseikioshiro@gmail.com >
331335* Chandra Pratap < chandrapratap3519@gmail.com >
332336
333- ### Improve signature handling in fast-export/fast-import and git-filter-repo
334-
335- Git's ` fast-export ` and ` fast-import ` commands are powerful tools for
336- repository manipulation and migration, and ` git-filter-repo ` builds on
337- these to provide advanced repository filtering capabilities. However,
338- handling of commit and tag signatures during these operations could
339- be significantly improved.
340-
341- Currently, signatures may be lost or become invalid when objects are
342- exported and imported, which can be problematic for repositories that
343- rely on signed commits or tags for security and verification purposes.
344-
345- This project aims to improve how these tools handle signatures by:
346- - Preserving signature information during export/import operations
347- - Providing options for signature handling (preserve, strip, re-sign, etc.)
348- - Ensuring signature validity is maintained or appropriately flagged
349- - Extending ` git-filter-repo ` to handle signatures correctly
350- - Adding tests and documentation for signature-related workflows
351-
352- ** Note:** This project may potentially conflict with ongoing work by GitLab
353- developers (including Christian Couder) on signature handling. Applicants
354- should coordinate with mentors before proposing this project to ensure the
355- work would not duplicate ongoing efforts.
356-
357- ** Getting started:** Build Git from source, experiment with ` git fast-export `
358- and ` git fast-import ` on repositories with signed commits and tags, study
359- the current signature handling code, review ` git-filter-repo ` functionality,
360- understand GPG signature verification in Git, and submit a micro-patch to
361- demonstrate familiarity with the codebase.
362-
363- ** Resources:**
364- - [ git-fast-export documentation] ( https://git-scm.com/docs/git-fast-export )
365- - [ git-fast-import documentation] ( https://git-scm.com/docs/git-fast-import )
366- - [ git-filter-repo project] ( https://github.com/newren/git-filter-repo )
367- - [ Git signature verification documentation] ( https://git-scm.com/docs/git-verify-commit )
368-
369- _ Expected Project Size_ : 175 hours or 350 hours
370-
371- _ Difficulty_ : Medium to Hard
372-
373- _ Languages_ : C, Python (for git-filter-repo), shell(bash)
374-
375- _ Possible mentors_ :
376-
377- * Christian Couder < <christian.couder@gmail.com > >
378- * Karthik Nayak < <karthik.188@gmail.com > >
379- * Justin Tobler < < jltobler@gmail.com > >
380- * Siddharth Asthana < < siddharthasthana31@gmail.com > >
381- * Ayush Chandekar < <ayu.chandekar@gmail.com > >
382- * Lucas Seiki Oshiro < < lucasseikioshiro@gmail.com > >
0 commit comments