@@ -115,3 +115,45 @@ _Languages_: C, shell(bash)
115115_ Possible mentors_ :
116116
117117* Patrick Steinhardt <
< [email protected] > >
118+
119+
120+ ### Implement support for reftables in "dumb" HTTP transport
121+
122+ Fetching Git repositories uses one of two major protocols:
123+
124+ - The "dumb" protocol works without requiring any kind of
125+ interactive negotiation like a CGI module. It can thus
126+ be served by a static web server.
127+
128+ - The "smart" protocol works by having the client and
129+ server exchange multiple messages with each other. It is
130+ more efficient, but requires support for Git in the
131+ server.
132+
133+ While almost all servers nowadays use the "smart" protocol,
134+ there are still some that use the "dumb" protocol.
135+
136+ The "dumb" protocol cannot serve repositories which use the
137+ "reftable" backend though. While there exists a "info/refs"
138+ file that is supposed to be backend-agnostic, this file does
139+ not contain information about the default branch. Instead,
140+ clients are expected to download the "HEAD" file and derive
141+ the default branch like that. This file is a mere stub in
142+ the "reftable" backend though, which breaks this protocol.
143+
144+ The goal of this project is to implement "reftable" support
145+ for "dumb" fetches.
146+
147+ See:
148+
149+ - < https://git-scm.com/docs/reftable >
150+
151+ _ Expected Project Size_ : 175 hours or 350 hours
152+
153+ _ Difficulty_ : Medium
154+
155+ _ Languages_ : C, shell(bash)
156+
157+ _ Possible mentors_ :
158+ * Patrick Steinhardt <
< [email protected] > >
159+ * Karthik Nayak < <
[email protected] > >
0 commit comments