@@ -98,6 +98,43 @@ the project is probably less than what would be expected for a GSoC
9898hence it should be grouped with another one (typically another
9999bisect-related idea).
100100
101+ ### "git rebase" improvements
102+
103+ #### "git status" during non-interactive rebase
104+
105+ Since 84e6fb9 (status: give more information during rebase -i,
106+ 2015-07-06), "git status" gives some useful information like
107+ previously applied and next commits when an interactive rebase is
108+ stopped. The same could be done for non-interactive rebase.
109+
110+ This is a small project that can be a used as a warm-up (perhaps:
111+ "extended warm-up"?) before tackling another one.
112+
113+ #### Port parts of "git rebase" to a C helper
114+
115+ Some pieces of code are currently duplicated between ` wt-status.c ` and
116+ ` git-rebase--interactive.sh ` (read_rebase_todolist/abbrev_sha1_in_line
117+ in C and expand_todo_ids/collapse_todo_ids in shell). It would be nice
118+ to let the shell version use directly the C version through a C helper
119+ to reduce code duplication and increase consistency (we've already
120+ been hit by subtle difference between different versions of a
121+ ` git-rebase-todo ` file ...).
122+
123+ This would need:
124+
125+ * libification of read_rebase_todolist/abbrev_sha1_in_line
126+
127+ * Introduction of a new internal command like git-rebase--helper (see
128+ bisect--helper for a prior example) that call it
129+
130+ * Use it from git-rebase--interactive.sh
131+
132+ This would open the door to other uses of C within "rebase -i", and
133+ possibly a step-by-step port of the shell code to C in the long run.
134+
135+ This is a relatively small project that should be combined with
136+ another one to give a proper GSoC project.
137+
101138### "git config --unset" improvement
102139
103140"git config", when removing the last variable in a section, leaves an
0 commit comments