Paul-Sebastian Ungureanu <ungureanupaulsebastian@xxxxxxxxx> writes: > The old shell script `git-stash.sh` was removed and replaced > entirely by `builtin/stash.c`. In order to do that, `create` and > `push` were adapted to work without `stash.sh`. For example, before > this commit, `git stash create` called `git stash--helper create > --message "$*"`. If it called `git stash--helper create "$@"`, then > some of these changes wouldn't have been necessary. > > This commit also removes the word `helper` since now stash is > called directly and not by a shell script. > > Signed-off-by: Paul-Sebastian Ungureanu <ungureanupaulsebastian@xxxxxxxxx> > --- > .gitignore | 1 - > Makefile | 3 +- > builtin.h | 2 +- > builtin/{stash--helper.c => stash.c} | 157 +++++++++++++++------------ > git-stash.sh | 153 -------------------------- > git.c | 2 +- > 6 files changed, 92 insertions(+), 226 deletions(-) > rename builtin/{stash--helper.c => stash.c} (91%) > delete mode 100755 git-stash.sh Seeing the recent trouble in "rebase in C" and how keeping the scripted version as "git legacy-rebase" helped us postpone the rewritten version without ripping the whole thing out, I wonder if we can do the same here. Also, the remaining two patches should be done _before_ this step, I would think. I can understand it if the reason you have those two after this step is because you found the opportunity for these improvements after you wrote this step, but in the larger picture seen by the end users of the "stash in C" and those developers who follow the evolution of the code, the logical place for this "now we have everything in C, we retire the scripted version" step to happen is at the very end. Thanks.