git-commit-vandalism/Documentation/config
Johannes Schindelin f83dff60a7 Start to implement a built-in version of git add --interactive
Unlike previous conversions to C, where we started with a built-in
helper, we start this conversion by adding an interception in the
`run_add_interactive()` function when the new opt-in
`add.interactive.useBuiltin` config knob is turned on (or the
corresponding environment variable `GIT_TEST_ADD_I_USE_BUILTIN`), and
calling the new internal API function `run_add_i()` that is implemented
directly in libgit.a.

At this point, the built-in version of `git add -i` only states that it
cannot do anything yet. In subsequent patches/patch series, the
`run_add_i()` function will gain more and more functionality, until it
is feature complete. The whole arc of the conversion can be found in the
PRs #170-175 at https://github.com/gitgitgadget/git.

The "--helper approach" can unfortunately not be used here: on Windows
we face the very specific problem that a `system()` call in
Perl seems to close `stdin` in the parent process when the spawned
process consumes even one character from `stdin`. Which prevents us from
implementing the main loop in C and still trying to hand off to the Perl
script.

The very real downside of the approach we have to take here is that the
test suite won't pass with `GIT_TEST_ADD_I_USE_BUILTIN=true` until the
conversion is complete (the `--helper` approach would have let it pass,
even at each of the incremental conversion steps).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-11-14 11:10:04 +09:00
..
add.txt Start to implement a built-in version of git add --interactive 2019-11-14 11:10:04 +09:00
advice.txt Merge branch 'ra/cherry-pick-revert-skip' 2019-07-19 11:30:21 -07:00
alias.txt config/alias.txt: document alias accepting non-command first word 2019-06-06 09:33:42 -07:00
am.txt
apply.txt
blame.txt blame: add config options for the output of ignored or unblamable lines 2019-05-16 11:36:23 +09:00
branch.txt Merge branch 'nd/switch-and-restore' 2019-07-09 15:25:44 -07:00
browser.txt
checkout.txt switch: no worktree status unless real branch switch happens 2019-04-02 13:57:00 +09:00
clean.txt
color.txt doc: fix repeated words 2019-08-11 17:40:07 -07:00
column.txt
commit.txt
completion.txt
core.txt repo-settings: create feature.manyFiles setting 2019-08-13 13:33:55 -07:00
credential.txt
diff.txt Merge branch 'sg/diff-indent-heuristic-non-experimental' 2019-09-09 12:26:36 -07:00
difftool.txt config.txt: move difftool.* to a separate file 2018-10-29 10:17:01 +09:00
fastimport.txt config.txt: move fastimport.* to a separate file 2018-10-29 10:17:01 +09:00
feature.txt fetch: add fetch.writeCommitGraph config setting 2019-09-03 12:06:14 -07:00
fetch.txt Merge branch 'js/fetch-jobs' 2019-10-15 13:48:00 +09:00
filter.txt config.txt: move filter.* to a separate file 2018-10-29 10:17:01 +09:00
fmt-merge-msg.txt config.txt: move fmt-merge-msg-config.txt to config/ 2018-10-29 10:17:01 +09:00
format.txt format-patch: create leading components of output directory 2019-10-12 11:51:20 +09:00
fsck.txt config/fsck.txt: avoid starting line with dash 2019-03-07 09:25:32 +09:00
gc.txt commit-graph: turn on commit-graph by default 2019-08-13 13:33:55 -07:00
gitcvs.txt config.txt: move gitcvs-config.txt to config/ 2018-10-29 10:17:01 +09:00
gitweb.txt config.txt: move gitweb.* to a separate file 2018-10-29 10:17:01 +09:00
gpg.txt Merge branch 'rm/gpg-program-doc-fix' into maint 2019-07-29 12:38:12 -07:00
grep.txt config.txt: move grep.* to a separate file 2018-10-29 10:17:01 +09:00
gui.txt config.txt: move gui-config.txt to config/ 2018-10-29 10:17:02 +09:00
guitool.txt config.txt: move guitool.* to a separate file 2018-10-29 10:17:02 +09:00
help.txt config.txt: move help.* to a separate file 2018-10-29 10:17:02 +09:00
http.txt Merge branch 'fc/http-version' 2019-01-04 13:33:32 -08:00
i18n.txt config.txt: move i18n.* to a separate file 2018-10-29 10:17:02 +09:00
imap.txt git-imap-send.txt: move imap.* to a separate file 2018-10-29 10:17:02 +09:00
index.txt repo-settings: create feature.manyFiles setting 2019-08-13 13:33:55 -07:00
init.txt config.txt: move init.* to a separate file 2018-10-29 10:17:02 +09:00
instaweb.txt config.txt: move instaweb.* to a separate file 2018-10-29 10:17:02 +09:00
interactive.txt checkout: split part of it to new command 'restore' 2019-05-07 13:04:47 +09:00
log.txt log: really flip the --mailmap default 2019-08-02 09:55:03 -07:00
mailinfo.txt config.txt: move mailinfo.* to a separate file 2018-10-29 10:17:02 +09:00
mailmap.txt config.txt: move mailmap.* to a separate file 2018-10-29 10:17:03 +09:00
man.txt config.txt: move man.* to a separate file 2018-10-29 10:17:03 +09:00
merge.txt merge-recursive: switch directory rename detection default 2019-04-08 16:02:08 +09:00
mergetool.txt config.txt: move mergetool.* to a separate file 2018-10-29 10:17:03 +09:00
notes.txt config.txt: move notes.* to a separate file 2018-10-29 10:17:03 +09:00
pack.txt repo-settings: create feature.experimental setting 2019-08-13 13:33:55 -07:00
pager.txt config.txt: move pager.* to a separate file 2018-10-29 10:17:03 +09:00
pretty.txt config.txt: move pretty.* to a separate file 2018-10-29 10:17:03 +09:00
protocol.txt config.txt: move protocol.* to a separate file 2018-10-29 10:17:03 +09:00
pull.txt rebase: deprecate --preserve-merges 2019-03-12 16:29:00 +09:00
push.txt config.txt: move push-config.txt to config/ 2018-10-29 10:17:03 +09:00
rebase.txt rebase: remove the rebase.useBuiltin setting 2019-03-20 09:25:10 +09:00
receive.txt config.txt: move receive-config.txt to config/ 2018-10-29 10:17:03 +09:00
remote.txt remote: add promisor and partial clone config to the doc 2019-06-25 14:05:38 -07:00
remotes.txt config.txt: move remotes.* to a separate file 2018-10-29 10:17:03 +09:00
repack.txt repack: enable bitmaps by default on bare repos 2019-03-18 14:09:54 +09:00
rerere.txt config.txt: move rerere.* to a separate file 2018-10-29 10:17:04 +09:00
reset.txt config.txt: move reset.* to a separate file 2018-10-29 10:17:04 +09:00
sendemail.txt config.txt: move sendemail-config.txt to config/ 2018-10-29 10:17:04 +09:00
sequencer.txt config.txt: move sequencer.* to a separate file 2018-10-29 10:17:04 +09:00
showbranch.txt config.txt: move showBranch.* to a separate file 2018-10-29 10:17:04 +09:00
splitindex.txt config.txt: move splitIndex.* to a separate file 2018-10-29 10:17:04 +09:00
ssh.txt config.txt: move ssh.* to a separate file 2018-10-29 10:17:02 +09:00
stash.txt doc: fix repeated words 2019-08-11 17:40:07 -07:00
status.txt status: add status.aheadbehind setting 2019-06-21 09:35:00 -07:00
submodule.txt config.txt: move submodule.* to a separate file 2018-10-29 10:17:04 +09:00
tag.txt tag: add tag.gpgSign config option to force all tags be GPG-signed 2019-06-05 14:39:28 -07:00
trace2.txt trace2: discard new traces if target directory has too many files 2019-10-05 17:53:51 +09:00
transfer.txt doc: typo: s/can not/cannot/ and s/is does/does/ 2019-08-05 10:05:24 -07:00
uploadarchive.txt config.txt: move uploadarchive.* to a separate file 2018-10-29 10:17:04 +09:00
uploadpack.txt config.txt: move uploadpack.* to a separate file 2018-10-29 10:17:04 +09:00
url.txt config.txt: move url.* to a separate file 2018-10-29 10:17:04 +09:00
user.txt config: allow giving separate author and committer idents 2019-02-04 12:18:13 -08:00
versionsort.txt config.txt: move versionsort.* to a separate file 2018-10-29 10:17:05 +09:00
web.txt config.txt: move web.* to a separate file 2018-10-29 10:17:05 +09:00
worktree.txt doc/config: do a better job of introducing 'worktree.guessRemote' 2018-12-28 13:27:11 -08:00