Hello,
This is the 11th iteration of C git stash. Here are some of the changes,
based on Thomas's and dscho's suggestions (from mailing list / pull request
#495):
- improved memory management. Now, the callers of `do_create_stash()`
are responsible of freeing the parameter they pass in. Moreover, the
stash message is now a pointer to a buffer (in the previous iteration
it was a pointer to a string). This should make it more clear who is
responsible of freeing the memory.
- added `strbuf_insertf()` which inserts a format string at a given
position in the buffer.
- some minor changes (changed "!oidcmp" to "oideq")
- fixed merge conflicts
Best regards,
Paul
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 (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: 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 | 1596 ++++++++++++++++++++++++++++++++++
cache.h | 1 +
git-stash.sh | 752 ----------------
git.c | 1 +
sha1-name.c | 19 +
strbuf.c | 51 ++
strbuf.h | 16 +
t/t3903-stash.sh | 192 ++--
t/t3907-stash-show-config.sh | 83 ++
12 files changed, 1897 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.1.878.g0482332a22