Skip to content

Commit 79cb13d

Browse files
committed
SoC-2026-Ideas: remove already taken idea and further tweaks
1 parent 4d6e764 commit 79cb13d

File tree

1 file changed

+8
-54
lines changed

1 file changed

+8
-54
lines changed

SoC-2026-Ideas.md

Lines changed: 8 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ Objects are fetched on-demand from "promisor remotes" as needed. However, over t
151151
clients may accumulate large local blobs that are no longer needed but remain on disk,
152152
and 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
155155
clients to remove large local blobs when they are available on a promisor remote.
156156
This would help users who want to get back disk space while maintaining the ability
157157
to 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
166172
with promisor remotes, study the existing `git-backfill` command (if available)
167173
or 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
200206
remotes. 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

205210
The key challenge is designing a flexible system that allows servers to
206211
communicate 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
211215
promisor 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

Comments
 (0)