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
..
2019-11-14 11:10:04 +09:00
2019-03-13 11:14:22 +09:00
2019-11-02 15:03:01 +09:00
2019-10-05 17:53:51 +09:00
2019-05-09 00:37:27 +09:00
2019-09-16 12:27:34 -07:00
2019-10-06 12:25:16 +09:00
2019-05-16 11:36:23 +09:00
2017-01-23 10:56:47 -08:00
2015-05-21 13:03:37 -07:00
2019-07-29 12:38:23 -07:00
2019-10-06 12:25:16 +09:00
2017-01-17 15:19:08 -08:00
2019-02-07 20:15:25 -08:00
2019-09-17 12:14:06 -07:00
2019-04-16 19:28:03 +09:00
2019-09-16 12:27:38 -07:00
2016-05-09 15:44:14 -07:00
2019-10-15 13:48:00 +09:00
2019-03-08 09:12:45 +09:00
2019-03-18 10:24:56 +09:00
2018-05-25 17:16:47 +09:00
2018-06-25 13:22:36 -07:00
2018-09-21 09:28:58 -07:00
2018-10-23 12:23:09 +09:00
2018-04-25 13:28:56 +09:00
2019-05-16 11:36:23 +09:00
2019-07-29 12:38:16 -07:00
2018-05-02 17:03:33 +09:00
2019-02-06 22:05:21 -08:00
2018-05-25 17:16:47 +09:00
2018-05-25 17:16:47 +09:00
2018-05-25 17:16:47 +09:00
2019-04-02 13:57:00 +09:00
2019-07-09 15:25:44 -07:00
2019-07-02 12:08:08 -07:00
2019-10-11 14:24:46 +09:00
2019-07-11 15:16:48 -07:00
2018-12-26 15:29:30 -08:00
2019-09-18 14:23:09 -07:00
2019-03-08 10:31:24 +09:00
2019-09-09 11:05:51 -07:00
2019-09-09 11:05:51 -07:00
2016-10-10 13:52:37 -07:00
2018-05-25 17:16:47 +09:00
2018-05-25 17:16:47 +09:00
2016-10-03 13:22:25 -07:00
2019-08-05 10:05:24 -07:00
2019-03-13 11:14:22 +09:00
2019-04-08 17:24:51 +09:00
2018-05-02 17:03:33 +09:00
2019-04-01 15:17:47 +09:00
2019-01-23 11:37:29 -08:00
2019-05-13 23:11:59 +09:00
2019-10-15 13:48:00 +09:00
2019-10-04 07:33:21 +09:00
2018-04-09 14:15:02 +09:00
2019-08-05 10:05:24 -07:00
2019-09-05 13:01:48 -07:00
2018-10-29 10:17:01 +09:00
2019-05-07 13:45:53 +09:00
2019-10-12 11:51:20 +09:00
2019-07-29 10:41:18 -07:00
2019-09-05 13:01:48 -07:00
2015-10-16 15:27:52 -07:00
2019-07-01 14:33:14 -07:00
2019-10-06 09:45:02 +09:00
2019-05-28 10:47:42 -07:00
2019-03-13 11:14:22 +09:00
2019-03-07 09:25:32 +09:00
2018-04-24 10:55:02 +09:00
2018-05-02 17:03:33 +09:00
2018-10-29 10:17:02 +09:00
2018-05-02 17:03:33 +09:00
2019-02-06 22:05:21 -08:00
2019-01-28 10:57:44 -08:00
2019-04-01 15:49:47 +09:00
2019-07-15 11:44:26 -07:00
2019-04-23 10:25:04 +09:00
2019-09-09 11:05:52 -07:00
2019-03-13 11:14:22 +09:00
2016-05-26 13:17:14 -07:00
2016-06-06 11:14:43 -07:00
2019-09-09 11:05:51 -07:00
2015-10-29 12:10:23 -07:00
2019-09-09 11:05:52 -07:00
2019-08-07 12:37:33 -07:00
2019-05-13 23:11:59 +09:00
2019-05-13 23:11:59 +09:00
2015-10-16 15:27:52 -07:00
2018-04-09 14:15:07 +09:00
2019-06-11 10:34:40 -07:00
2016-06-28 08:20:52 -07:00
2018-05-02 17:03:33 +09:00
2019-03-07 09:25:32 +09:00
2019-01-23 11:37:29 -08:00
2019-08-11 17:40:07 -07:00
2017-07-28 14:41:32 -07:00
2018-05-02 17:03:33 +09:00
2019-08-05 10:05:24 -07:00
2019-08-11 17:40:07 -07:00
2019-01-07 15:29:34 -08:00
2018-11-12 12:05:38 +09:00
2019-04-25 16:41:14 +09:00
2019-09-30 13:19:31 +09:00
2019-09-09 11:05:52 -07:00
2018-10-22 13:32:54 +09:00
2019-04-22 11:14:46 +09:00
2019-04-01 14:00:53 +09:00
2019-04-01 14:00:53 +09:00
2019-04-02 13:57:00 +09:00
2019-08-11 17:40:07 -07:00
2019-09-05 13:01:48 -07:00
2018-05-02 17:03:33 +09:00
2019-07-09 15:25:44 -07:00
2019-07-09 15:25:44 -07:00
2019-08-05 12:39:39 -07:00
2019-10-06 09:45:19 +09:00
2018-05-25 17:16:47 +09:00
2019-07-19 11:30:21 -07:00
2017-08-23 12:17:22 -07:00
2019-09-09 11:05:51 -07:00
2018-05-02 17:03:33 +09:00
2016-06-08 12:04:37 -07:00
2018-05-02 17:03:33 +09:00
2018-04-18 12:49:26 +09:00
2019-04-10 12:05:03 +09:00
2018-05-29 00:28:22 +09:00
2019-01-10 10:29:05 -08:00
2018-05-25 17:16:47 +09:00
2019-10-11 14:28:04 +09:00
2019-09-09 11:05:51 -07:00
2015-10-16 15:27:52 -07:00
2019-10-07 11:32:56 +09:00
2019-09-05 13:01:48 -07:00
2019-05-07 13:04:48 +09:00
2019-06-05 14:39:28 -07:00
2017-04-20 22:05:37 -07:00
2016-08-24 12:31:05 -07:00
2018-08-20 11:33:50 -07:00
2018-11-21 22:58:07 +09:00
2019-05-15 14:07:37 +09:00
2015-10-22 10:16:12 -07:00
2019-01-23 11:37:29 -08:00
2018-05-02 17:03:33 +09:00
2016-07-06 13:06:36 -07:00
2015-05-17 11:24:57 -07:00
2017-01-17 16:10:22 -08:00
2019-03-13 11:14:22 +09:00
2019-03-18 14:45:21 +09:00
2019-07-11 15:16:48 -07:00
2019-08-21 15:09:34 -07:00
2019-08-06 13:05:39 -07:00
2019-04-02 13:57:00 +09:00
2018-09-27 15:24:50 -07:00
2017-02-15 12:54:20 -08:00
2018-12-26 14:59:37 -08:00
2019-05-07 13:04:48 +09:00
2017-02-09 15:14:01 -08:00
2019-09-30 13:19:29 +09:00
2019-07-25 14:27:13 -07:00
2019-03-13 11:14:22 +09:00
2019-10-07 11:33:00 +09:00
2016-11-14 11:23:07 -08:00
2019-10-23 14:43:11 +09:00
2019-08-19 15:28:51 -07:00
2018-08-31 14:04:06 -07:00
2019-05-28 09:42:06 -07:00
2019-05-07 13:04:48 +09:00
2019-05-07 13:04:48 +09:00
2019-09-09 11:05:52 -07:00
2019-06-24 12:37:21 -07:00
2019-04-02 13:57:00 +09:00
2019-08-05 10:05:24 -07:00
2017-07-17 15:11:26 -07:00
2017-12-12 16:49:40 -08:00
2015-04-20 11:05:50 -07:00
2016-05-10 11:15:04 -07:00
2019-10-06 12:25:16 +09:00
2019-11-02 14:46:42 +09:00
2019-09-16 12:20:39 -07:00
2019-09-30 13:19:28 +09:00
2018-05-08 16:19:41 +09:00
2019-09-28 12:27:38 +09:00
2019-09-12 11:06:33 -07:00
2016-07-06 13:06:34 -07:00
2018-09-20 09:40:03 -07:00
2019-09-18 11:50:09 -07:00
2019-07-09 15:25:44 -07:00
2019-07-02 12:08:08 -07:00
2019-09-18 13:57:13 -07:00
2017-01-23 10:56:53 -08:00
2019-10-04 09:26:42 +09:00
2016-11-14 11:23:07 -08:00
2015-10-22 10:16:12 -07:00
2019-04-01 14:00:53 +09:00
2019-09-28 17:39:34 +09:00