git-commit-vandalism/builtin
Phillip Wood 460bc3ce73 rebase -i: run without forking rebase--interactive
When the builtin rebase starts an interactive rebase it parses the
options and then repackages them and forks
`rebase--interactive`. Separate the option parsing in
cmd_rebase__interactive() from the business logic to allow interactive
rebases can be run without forking `rebase__interactive` by calling
run_rebase_interactive() directly.

Starting interactive rebases without forking makes it easy to debug
the sequencer without worrying about attaching to child
processes. Ævar has also reported that some of the rebase perf tests
are 30% faster [1].

This patch also makes it easy to remove cmd_rebase__interactive() in
the future when git-legacy-rebase.sh and
git-rebase--preserve-merges.sh are retired.

[1] https://public-inbox.org/git/87y359cfjj.fsf@evledraar.gmail.com/

Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-04-19 17:32:10 +09:00
..
add.c Merge branch 'nd/the-index-final' 2019-02-06 22:05:23 -08:00
am.c Merge branch 'nd/completion-more-parameters' 2019-03-07 09:59:58 +09:00
annotate.c
apply.c
archive.c pack-protocol.txt: accept error packets in any context 2019-01-02 13:05:30 -08:00
bisect--helper.c Fix typos in translatable strings for v2.21.0 2019-02-11 12:58:06 -08:00
blame.c Merge branch 'nd/diff-parseopt' 2019-03-07 09:59:52 +09:00
branch.c Merge branch 'du/branch-show-current' 2019-03-07 09:59:54 +09:00
bundle.c create_bundle(): drop unused "header" parameter 2019-01-24 12:35:44 -08:00
cat-file.c Merge branch 'jk/loose-object-cache-oid' 2019-02-06 22:05:27 -08:00
check-attr.c cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch 2019-01-24 11:55:06 -08:00
check-ignore.c cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch 2019-01-24 11:55:06 -08:00
check-mailmap.c
check-ref-format.c
checkout-index.c Merge branch 'nd/the-index-final' 2019-02-06 22:05:23 -08:00
checkout.c Merge branch 'jh/trace2' 2019-03-07 09:59:56 +09:00
clean.c cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch 2019-01-24 11:55:06 -08:00
clone.c Merge branch 'nd/the-index-final' 2019-02-06 22:05:23 -08:00
column.c
commit-graph.c commit-graph: rename "large edges" to "extra edges" 2019-01-22 11:33:46 -08:00
commit-tree.c commit-tree: add missing --gpg-sign flag 2019-01-22 11:08:35 -08:00
commit.c Merge branch 'nd/completion-more-parameters' 2019-03-07 09:59:58 +09:00
config.c Merge branch 'jk/save-getenv-result' 2019-01-29 12:47:54 -08:00
count-objects.c rename "alternate_object_database" to "object_directory" 2018-11-13 14:22:02 +09:00
credential.c
describe.c Merge branch 'ss/describe-dirty-in-the-right-directory' 2019-02-06 22:05:29 -08:00
diff-files.c cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch 2019-01-24 11:55:06 -08:00
diff-index.c cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch 2019-01-24 11:55:06 -08:00
diff-tree.c Merge branch 'en/combined-all-paths' 2019-03-07 09:59:54 +09:00
diff.c Merge branch 'jk/diff-no-index-initialize' 2019-03-07 09:59:59 +09:00
difftool.c Merge branch 'nd/the-index-final' 2019-02-06 22:05:23 -08:00
fast-export.c Merge branch 'en/fast-export-import' 2019-01-04 13:33:33 -08:00
fetch-pack.c Merge branch 'jt/fetch-v2-sideband' 2019-02-05 14:26:11 -08:00
fetch.c Fix typos in translatable strings for v2.21.0 2019-02-11 12:58:06 -08:00
fmt-merge-msg.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
for-each-ref.c
fsck.c Merge branch 'nd/the-index-final' 2019-02-06 22:05:23 -08:00
gc.c Merge branch 'js/gc-repack-close-before-remove' 2019-01-18 13:49:57 -08:00
get-tar-commit-id.c
grep.c Merge branch 'nd/the-index-final' 2019-02-06 22:05:23 -08:00
hash-object.c cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch 2019-01-24 11:55:06 -08:00
help.c completion: add more parameter value completion 2019-02-20 12:31:56 -08:00
index-pack.c convert has_sha1_file() callers to has_object_file() 2019-01-08 09:41:06 -08:00
init-db.c Merge branch 'jk/save-getenv-result' 2019-01-29 12:47:54 -08:00
interpret-trailers.c assert NOARG/NONEG behavior of parse-options callbacks 2018-11-06 12:56:29 +09:00
log.c completion: add more parameter value completion 2019-02-20 12:31:56 -08:00
ls-files.c Merge branch 'nd/the-index-final' 2019-02-06 22:05:23 -08:00
ls-remote.c Merge branch 'jk/proto-v2-ref-prefix-fix' 2018-11-13 22:37:17 +09:00
ls-tree.c Merge branch 'nd/attr-pathspec-in-tree-walk' 2019-01-14 15:29:28 -08:00
mailinfo.c
mailsplit.c
merge-base.c Merge branch 'pk/rebase-in-c-4-opts' 2018-11-02 11:04:55 +09:00
merge-file.c assert NOARG/NONEG behavior of parse-options callbacks 2018-11-06 12:56:29 +09:00
merge-index.c cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch 2019-01-24 11:55:06 -08:00
merge-ours.c cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch 2019-01-24 11:55:06 -08:00
merge-recursive.c Merge branch 'nd/the-index-final' 2019-02-06 22:05:23 -08:00
merge-tree.c Merge branch 'nd/the-index-final' 2019-02-06 22:05:23 -08:00
merge.c Merge branch 'nd/diff-parseopt' 2019-03-07 09:59:52 +09:00
mktag.c
mktree.c builtin/mktree: remove hard-coded constant 2018-10-15 12:53:15 +09:00
multi-pack-index.c multi-pack-index: add 'verify' verb 2018-09-17 13:49:38 -07:00
mv.c cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch 2019-01-24 11:55:06 -08:00
name-rev.c
notes.c Merge branch 'nd/the-index' into md/list-objects-filter-by-depth 2019-01-15 15:38:29 -08:00
pack-objects.c trace2:data: pack-objects: add trace2 regions 2019-02-22 15:28:21 -08:00
pack-redundant.c Merge branch 'sc/pack-redundant' 2019-03-07 09:59:54 +09:00
pack-refs.c
patch-id.c
prune-packed.c Merge branch 'rj/prune-packed-excess-args' 2019-03-07 09:59:55 +09:00
prune.c prune: check SEEN flag for reachability 2019-02-14 15:25:33 -08:00
pull.c completion: add more parameter value completion 2019-02-20 12:31:56 -08:00
push.c Merge branch 'nd/style-opening-brace' 2019-01-18 13:49:52 -08:00
range-diff.c Merge branch 'nd/the-index' 2018-10-19 13:34:02 +09:00
read-tree.c cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch 2019-01-24 11:55:06 -08:00
rebase.c rebase -i: run without forking rebase--interactive 2019-04-19 17:32:10 +09:00
receive-pack.c Merge branch 'ab/receive-pack-use-after-free-fix' 2019-03-07 09:59:57 +09:00
reflog.c Merge branch 'jk/loose-object-cache-oid' 2019-02-06 22:05:27 -08:00
remote-ext.c
remote-fd.c
remote.c Merge branch 'ms/remote-error-message-update' 2018-09-24 10:30:52 -07:00
repack.c Merge branch 'js/gc-repack-close-before-remove' 2019-01-18 13:49:57 -08:00
replace.c completion: add more parameter value completion 2019-02-20 12:31:56 -08:00
rerere.c Merge branch 'nd/the-index' into md/list-objects-filter-by-depth 2019-01-15 15:38:29 -08:00
reset.c trace2:data: add subverb to reset command 2019-02-22 15:28:21 -08:00
rev-list.c Merge branch 'ds/push-sparse-tree-walk' 2019-02-06 22:05:25 -08:00
rev-parse.c cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch 2019-01-24 11:55:06 -08:00
revert.c Merge branch 'nd/the-index' 2019-01-04 13:33:33 -08:00
rm.c cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch 2019-01-24 11:55:06 -08:00
send-pack.c pack-protocol.txt: accept error packets in any context 2019-01-02 13:05:30 -08:00
serve.c
shortlog.c Merge branch 'nd/show-gitcomp-compilation-fix' into maint 2018-12-15 12:24:33 +09:00
show-branch.c assert NOARG/NONEG behavior of parse-options callbacks 2018-11-06 12:56:29 +09:00
show-index.c
show-ref.c convert has_sha1_file() callers to has_object_file() 2019-01-08 09:41:06 -08:00
stripspace.c stripspace: allow -s/-c outside git repository 2018-12-26 15:41:47 -08:00
submodule--helper.c trace2: create new combined trace facility 2019-02-22 15:27:59 -08:00
symbolic-ref.c
tag.c assert NOARG/NONEG behavior of parse-options callbacks 2018-11-06 12:56:29 +09:00
unpack-file.c
unpack-objects.c convert "hashcmp() != 0" to "!hasheq()" 2018-08-29 11:32:49 -07:00
update-index.c Merge branch 'nd/diff-parseopt' 2019-03-07 09:59:52 +09:00
update-ref.c update-ref: allow --no-deref with --stdin 2018-09-12 15:17:17 -07:00
update-server-info.c
upload-archive.c archive: initialize archivers earlier 2018-10-26 10:17:59 +09:00
upload-pack.c
var.c
verify-commit.c
verify-pack.c
verify-tag.c
worktree.c trace2:data: add trace2 hook classification 2019-02-22 15:28:21 -08:00
write-tree.c cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch 2019-01-24 11:55:06 -08:00