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
fastimport.txt
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
fmt-merge-msg.txt
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
gitweb.txt
gpg.txt Merge branch 'rm/gpg-program-doc-fix' into maint 2019-07-29 12:38:12 -07:00
grep.txt
gui.txt
guitool.txt
help.txt
http.txt
i18n.txt
imap.txt
index.txt repo-settings: create feature.manyFiles setting 2019-08-13 13:33:55 -07:00
init.txt
instaweb.txt
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
mailmap.txt
man.txt
merge.txt merge-recursive: switch directory rename detection default 2019-04-08 16:02:08 +09:00
mergetool.txt
notes.txt
pack.txt repo-settings: create feature.experimental setting 2019-08-13 13:33:55 -07:00
pager.txt
pretty.txt
protocol.txt
pull.txt rebase: deprecate --preserve-merges 2019-03-12 16:29:00 +09:00
push.txt
rebase.txt rebase: remove the rebase.useBuiltin setting 2019-03-20 09:25:10 +09:00
receive.txt
remote.txt remote: add promisor and partial clone config to the doc 2019-06-25 14:05:38 -07:00
remotes.txt
repack.txt repack: enable bitmaps by default on bare repos 2019-03-18 14:09:54 +09:00
rerere.txt
reset.txt
sendemail.txt
sequencer.txt
showbranch.txt
splitindex.txt
ssh.txt
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
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
uploadpack.txt
url.txt
user.txt config: allow giving separate author and committer idents 2019-02-04 12:18:13 -08:00
versionsort.txt
web.txt
worktree.txt