f83dff60a7
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> |
||
---|---|---|
.. | ||
add.txt | ||
advice.txt | ||
alias.txt | ||
am.txt | ||
apply.txt | ||
blame.txt | ||
branch.txt | ||
browser.txt | ||
checkout.txt | ||
clean.txt | ||
color.txt | ||
column.txt | ||
commit.txt | ||
completion.txt | ||
core.txt | ||
credential.txt | ||
diff.txt | ||
difftool.txt | ||
fastimport.txt | ||
feature.txt | ||
fetch.txt | ||
filter.txt | ||
fmt-merge-msg.txt | ||
format.txt | ||
fsck.txt | ||
gc.txt | ||
gitcvs.txt | ||
gitweb.txt | ||
gpg.txt | ||
grep.txt | ||
gui.txt | ||
guitool.txt | ||
help.txt | ||
http.txt | ||
i18n.txt | ||
imap.txt | ||
index.txt | ||
init.txt | ||
instaweb.txt | ||
interactive.txt | ||
log.txt | ||
mailinfo.txt | ||
mailmap.txt | ||
man.txt | ||
merge.txt | ||
mergetool.txt | ||
notes.txt | ||
pack.txt | ||
pager.txt | ||
pretty.txt | ||
protocol.txt | ||
pull.txt | ||
push.txt | ||
rebase.txt | ||
receive.txt | ||
remote.txt | ||
remotes.txt | ||
repack.txt | ||
rerere.txt | ||
reset.txt | ||
sendemail.txt | ||
sequencer.txt | ||
showbranch.txt | ||
splitindex.txt | ||
ssh.txt | ||
stash.txt | ||
status.txt | ||
submodule.txt | ||
tag.txt | ||
trace2.txt | ||
transfer.txt | ||
uploadarchive.txt | ||
uploadpack.txt | ||
url.txt | ||
user.txt | ||
versionsort.txt | ||
web.txt | ||
worktree.txt |