Hello, This is a new iteration of git-stash which also takes sd/stash-wo-user-name into account. I cherry-picked some of dscho's commits (from [1]) to keep the scripted version of `git stash` as `git-legacy-stash`. Thank you for your suggestions! Best, Paul [1] https://github.com/dscho/git 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 Johannes Schindelin (4): ident: add the ability to provide a "fallback identity" stash: add back the original, scripted `git stash` stash: optionally use the scripted version again tests: add a special setup where stash.useBuiltin is off Paul-Sebastian Ungureanu (17): sha1-name.c: add `get_oidf()` which acts like `get_oid()` strbuf.c: add `strbuf_join_argv()` strbuf.c: add `strbuf_insertf()` and `strbuf_vinsertf()` t3903: modernize style stash: rename test cases to be more descriptive stash: add tests for `git stash show` config stash: mention options in `show` synopsis stash: convert list to builtin stash: convert show to builtin 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: optimize `get_untracked_files()` and `check_changes()` stash: replace all `write-tree` child processes with API calls stash: convert `stash--helper.c` into `stash.c` .gitignore | 1 + Documentation/git-stash.txt | 4 +- Makefile | 3 +- builtin.h | 1 + builtin/stash.c | 1636 +++++++++++++++++++++++++++ cache.h | 2 + git-stash.sh => git-legacy-stash.sh | 34 +- git-sh-setup.sh | 1 + git.c | 6 + ident.c | 20 + sha1-name.c | 19 + strbuf.c | 51 + strbuf.h | 16 + t/README | 4 + t/t3903-stash.sh | 192 ++-- t/t3907-stash-show-config.sh | 83 ++ 16 files changed, 2001 insertions(+), 72 deletions(-) create mode 100644 builtin/stash.c rename git-stash.sh => git-legacy-stash.sh (97%) create mode 100755 t/t3907-stash-show-config.sh -- 2.20.1.441.g764a526393