Hello, This is a new iteration of `git stash`, based on the last review I got. This new iteration brings mostly code styling fix issues in order to make the code more readable. There is also a new patch "strbuf.c: add `strbuf_join_argv()`". By making some small changes, the code is now a little bit closer to be used as API. Joel Teichroeb (5): stash: improve option parsing test coverage stash: convert apply to builtin stash: convert drop and clear to builtin stash: convert branch to builtin stash: convert pop to builtin Paul-Sebastian Ungureanu (16): sha1-name.c: add `get_oidf()` which acts like `get_oid()` strbuf.c: add `strbuf_join_argv()` stash: update test cases conform to coding guidelines stash: rename test cases to be more descriptive stash: add tests for `git stash show` config stash: convert list to builtin stash: convert show to builtin stash: mention options in `show` synopsis. stash: convert store to builtin stash: convert create to builtin stash: convert push to builtin stash: make push -q quiet stash: convert save to builtin stash: convert `stash--helper.c` into `stash.c` stash: optimize `get_untracked_files()` and `check_changes()` stash: replace all `write-tree` child processes with API calls Documentation/git-stash.txt | 4 +- Makefile | 2 +- builtin.h | 1 + builtin/stash.c | 1595 ++++++++++++++++++++++++++++++++++ cache.h | 1 + git-stash.sh | 752 ---------------- git.c | 1 + sha1-name.c | 19 + strbuf.c | 15 + strbuf.h | 7 + t/t3903-stash.sh | 192 ++-- t/t3907-stash-show-config.sh | 83 ++ 12 files changed, 1851 insertions(+), 821 deletions(-) create mode 100644 builtin/stash.c delete mode 100755 git-stash.sh create mode 100755 t/t3907-stash-show-config.sh -- 2.19.0.rc0.23.g1fb9f40d88