Skip to content
Permalink
Browse files
Merge pull request #2472 from dscho/builtin-add-i-fixes
Two fixes for the built-in `git add -i`
  • Loading branch information
dscho committed Jan 15, 2020
2 parents f92c7e0 + ff8149b commit 4001aef3b37f97d159cbe2952def0ec7f31f7d98
Showing with 15 additions and 3 deletions.
  1. +6 −3 add-interactive.c
  2. +9 −0 t/t3701-add-interactive.sh
@@ -344,7 +344,10 @@ static ssize_t list_and_choose(struct add_i_state *s,
if (endp == p + sep)
to = from + 1;
else if (*endp == '-') {
to = strtoul(++endp, &endp, 10);
if (isdigit(*(++endp)))
to = strtoul(endp, &endp, 10);
else
to = items->items.nr;
/* extra characters after the range? */
if (endp != p + sep)
from = -1;
@@ -931,7 +934,7 @@ static int run_patch(struct add_i_state *s, const struct pathspec *ps,

opts->prompt = N_("Patch update");
count = list_and_choose(s, files, opts);
if (count >= 0) {
if (count > 0) {
struct argv_array args = ARGV_ARRAY_INIT;
struct pathspec ps_selected = { 0 };

@@ -972,7 +975,7 @@ static int run_diff(struct add_i_state *s, const struct pathspec *ps,
opts->flags = IMMEDIATE;
count = list_and_choose(s, files, opts);
opts->flags = 0;
if (count >= 0) {
if (count > 0) {
struct argv_array args = ARGV_ARRAY_INIT;

argv_array_pushl(&args, "git", "diff", "-p", "--cached",
@@ -68,6 +68,15 @@ test_expect_success 'revert works (initial)' '
! grep . output
'

test_expect_success 'add untracked (multiple)' '
test_when_finished "git reset && rm [1-9]" &&
touch $(test_seq 9) &&
test_write_lines a "2-5 8-" | git add -i -- [1-9] &&
test_write_lines 2 3 4 5 8 9 >expected &&
git ls-files [1-9] >output &&
test_cmp expected output
'

test_expect_success 'setup (commit)' '
echo baseline >file &&
git add file &&

0 comments on commit 4001aef

Please sign in to comment.