Files
git/Documentation
Johannes Schindelin af4b541c19 Start to implement a built-in version of git add --interactive
This is hardly the first conversion of a Git command that is implemented
as a script to a built-in. So far, the most successful strategy for such
conversions has been to add a built-in helper and call that for more and
more functionality from the script, as more and more parts are
converted.

With the interactive add, we choose a different strategy. The sole
reason for this is that on Windows (where such a conversion has the most
benefits in terms of speed and robustness) 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`. And that just does not work for us here, as it would stop the
main loop as soon as any interactive command was performed by the
helper. Which is almost all of the commands in `git add -i`.

It is almost as if Perl told us once again that it does not want us to
use it on Windows.

Instead, we follow the opposite route where we start with a bare-bones
version of the built-in interactive add, guarded by the new
`add.interactive.useBuiltin` config variable, and then add more and more
functionality to it, until it is feature complete.

At this point, the built-in version of `git add -i` only states that it
cannot do anything yet ;-)

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2019-10-30 11:54:01 +01:00
..
2019-10-30 15:13:14 +09:00
2019-05-09 00:37:27 +09:00
2019-10-15 13:48:00 +09:00
2018-06-25 13:22:36 -07:00
2019-01-23 11:37:29 -08:00
2019-08-07 12:37:33 -07:00
2019-01-23 11:37:29 -08:00
2019-08-11 17:40:07 -07:00
2019-08-11 17:40:07 -07:00
2019-04-25 16:41:14 +09:00
2019-04-02 13:57:00 +09:00
2019-08-11 17:40:07 -07:00
2019-08-05 12:39:39 -07:00
2019-01-23 11:37:29 -08:00
2019-03-18 14:45:21 +09:00
2019-07-11 15:16:48 -07:00
2019-08-06 13:05:39 -07:00
2019-04-02 13:57:00 +09:00
2018-12-26 14:59:37 -08:00
2019-05-07 13:04:48 +09:00
2019-05-07 13:04:48 +09:00
2019-05-07 13:04:48 +09:00
2019-04-02 13:57:00 +09:00
2019-10-06 12:25:16 +09:00
2019-09-12 11:06:33 -07:00