I've rewritten git stash as a builtin c command. All tests pass, and I've added two new tests. Test coverage is around 95% with the only things missing coverage being error handlers. Joel Teichroeb (4): stash: add test for stash create with no files stash: add test for stashing in a detached state close the index lock when not writing the new index stash: implement builtin stash Makefile | 2 +- builtin.h | 1 + builtin/add.c | 3 +- builtin/mv.c | 8 +- builtin/rm.c | 3 +- builtin/stash.c | 1280 +++++++++++++++++++++++++ git-stash.sh => contrib/examples/git-stash.sh | 0 git.c | 1 + merge-recursive.c | 8 +- t/t3903-stash.sh | 19 + 10 files changed, 1316 insertions(+), 9 deletions(-) create mode 100644 builtin/stash.c rename git-stash.sh => contrib/examples/git-stash.sh (100%) -- 2.13.0