diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2019-01-18 07:09:27 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-01-18 10:11:45 -0800 |
commit | 21853626eac565dd42572d90724b29863f61eb3b (patch) | |
tree | 32a358ae033aff39d216a954d1bd3b6e280acdff /builtin/merge-base.c | |
parent | rebase: teach `reset_head()` to optionally skip the worktree (diff) | |
download | tgif-21853626eac565dd42572d90724b29863f61eb3b.tar.xz |
built-in rebase: call `git am` directly
While the scripted `git rebase` still has to rely on the
`git-rebase--am.sh` script to implement the glue between the `rebase`
and the `am` commands, we can go a more direct route in the built-in
rebase and avoid using a shell script altogether.
This patch represents a straight-forward port of `git-rebase--am.sh` to
C, along with the glue code to call it directly from within
`builtin/rebase.c`.
This reduces the chances of Git for Windows running into trouble due to
problems with the POSIX emulation layer (known as "MSYS2 runtime",
itself a derivative of the Cygwin runtime): when no shell script is
called, the POSIX emulation layer is avoided altogether.
Note: we pass an empty action to `reset_head()` here when moving back to
the original branch, as no other action is applicable, really. This
parameter is used to initialize `unpack_trees()`' messages.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/merge-base.c')
0 files changed, 0 insertions, 0 deletions