Especially on Windows, where Unix shell scripting is a foreign endeavor, and an expensive one at that, we really want to avoid running through the Bash. This not only makes everything faster, but also more robust, as the Bash we use on Windows relies on a derivative of the Cygwin runtime, which in turn has to jump through a couple of hoops that are sometimes a little too tricky to make things work. Read: the less we rely on Unix shell scripting, the more likely Windows users will be able to enjoy our software. Johannes Schindelin (4): rebase: move `reset_head()` into a better spot rebase: avoid double reflog entry when switching branches rebase: teach `reset_head()` to optionally skip the worktree built-in rebase: call `git am` directly builtin/rebase.c | 428 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 309 insertions(+), 119 deletions(-) base-commit: b21ebb671bb7dea8d342225f0d66c41f4e54d5ca Published-As: https://github.com/gitgitgadget/git/releases/tags/pr-24%2Fdscho%2Fbuiltin-rebase--am-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-24/dscho/builtin-rebase--am-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/24 -- gitgitgadget