Git fork

Merge branch 'rs/add-patch-document-p-for-pager'

Show 'P'ipe command in "git add -p".

* rs/add-patch-document-p-for-pager:
add-patch: fully document option P

+26 -24
+1
Documentation/git-add.adoc
··· 349 349 s - split the current hunk into smaller hunks 350 350 e - manually edit the current hunk 351 351 p - print the current hunk 352 + P - print the current hunk using the pager 352 353 ? - print help 353 354 + 354 355 After deciding the fate for all hunks, if there is any hunk
+3 -2
add-patch.c
··· 1416 1416 "/ - search for a hunk matching the given regex\n" 1417 1417 "s - split the current hunk into smaller hunks\n" 1418 1418 "e - manually edit the current hunk\n" 1419 - "p - print the current hunk, 'P' to use the pager\n" 1419 + "p - print the current hunk\n" 1420 + "P - print the current hunk using the pager\n" 1420 1421 "? - print help\n"); 1421 1422 1422 1423 static size_t dec_mod(size_t a, size_t m) ··· 1547 1548 permitted |= ALLOW_EDIT; 1548 1549 strbuf_addstr(&s->buf, ",e"); 1549 1550 } 1550 - strbuf_addstr(&s->buf, ",p"); 1551 + strbuf_addstr(&s->buf, ",p,P"); 1551 1552 } 1552 1553 if (file_diff->deleted) 1553 1554 prompt_mode_type = PROMPT_DELETION;
+22 -22
t/t3701-add-interactive.sh
··· 48 48 git add -N command && 49 49 git diff command >expect && 50 50 cat >>expect <<-EOF && 51 - (1/1) Stage addition [y,n,q,a,d,e,p,?]? Unknown command ${SQ}W${SQ} (use ${SQ}?${SQ} for help) 52 - (1/1) Stage addition [y,n,q,a,d,e,p,?]?$SP 51 + (1/1) Stage addition [y,n,q,a,d,e,p,P,?]? Unknown command ${SQ}W${SQ} (use ${SQ}?${SQ} for help) 52 + (1/1) Stage addition [y,n,q,a,d,e,p,P,?]?$SP 53 53 EOF 54 54 git add -p -- command <command >actual 2>&1 && 55 55 test_cmp expect actual ··· 332 332 git -c core.filemode=true add -p >actual && 333 333 sed -n "s/^\(([0-9/]*) Stage .*?\).*/\1/p" actual >actual.filtered && 334 334 cat >expect <<-\EOF && 335 - (1/1) Stage deletion [y,n,q,a,d,p,?]? 336 - (1/2) Stage mode change [y,n,q,a,d,k,K,j,J,g,/,p,?]? 337 - (2/2) Stage this hunk [y,n,q,a,d,K,J,g,/,e,p,?]? 335 + (1/1) Stage deletion [y,n,q,a,d,p,P,?]? 336 + (1/2) Stage mode change [y,n,q,a,d,k,K,j,J,g,/,p,P,?]? 337 + (2/2) Stage this hunk [y,n,q,a,d,K,J,g,/,e,p,P,?]? 338 338 EOF 339 339 test_cmp expect actual.filtered 340 340 ' ··· 521 521 test_expect_success 'goto hunk 1 with "g 1"' ' 522 522 test_when_finished "git reset" && 523 523 tr _ " " >expect <<-EOF && 524 - (2/2) Stage this hunk [y,n,q,a,d,K,J,g,/,e,p,?]? + 1: -1,2 +1,3 +15 524 + (2/2) Stage this hunk [y,n,q,a,d,K,J,g,/,e,p,P,?]? + 1: -1,2 +1,3 +15 525 525 _ 2: -2,4 +3,8 +21 526 526 go to which hunk? @@ -1,2 +1,3 @@ 527 527 _10 528 528 +15 529 529 _20 530 - (1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,?]?_ 530 + (1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,P,?]?_ 531 531 EOF 532 532 test_write_lines s y g 1 | git add -p >actual && 533 533 tail -n 7 <actual >actual.trimmed && ··· 540 540 _10 541 541 +15 542 542 _20 543 - (1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,?]?_ 543 + (1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,P,?]?_ 544 544 EOF 545 545 test_write_lines s y g1 | git add -p >actual && 546 546 tail -n 4 <actual >actual.trimmed && ··· 550 550 test_expect_success 'navigate to hunk via regex /pattern' ' 551 551 test_when_finished "git reset" && 552 552 tr _ " " >expect <<-EOF && 553 - (2/2) Stage this hunk [y,n,q,a,d,K,J,g,/,e,p,?]? @@ -1,2 +1,3 @@ 553 + (2/2) Stage this hunk [y,n,q,a,d,K,J,g,/,e,p,P,?]? @@ -1,2 +1,3 @@ 554 554 _10 555 555 +15 556 556 _20 557 - (1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,?]?_ 557 + (1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,P,?]?_ 558 558 EOF 559 559 test_write_lines s y /1,2 | git add -p >actual && 560 560 tail -n 5 <actual >actual.trimmed && ··· 567 567 _10 568 568 +15 569 569 _20 570 - (1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,?]?_ 570 + (1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,P,?]?_ 571 571 EOF 572 572 test_write_lines s y / 1,2 | git add -p >actual && 573 573 tail -n 4 <actual >actual.trimmed && ··· 579 579 tr _ " " >expect <<-EOF && 580 580 +15 581 581 20 582 - (1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,?]? @@ -1,2 +1,3 @@ 582 + (1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,P,?]? @@ -1,2 +1,3 @@ 583 583 10 584 584 +15 585 585 20 586 - (1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,?]?_ 586 + (1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,P,?]?_ 587 587 EOF 588 588 test_write_lines s y g 1 p | git add -p >actual && 589 589 tail -n 7 <actual >actual.trimmed && ··· 595 595 cat >expect <<-EOF && 596 596 <GREEN>+<RESET><GREEN>15<RESET> 597 597 20<RESET> 598 - <BOLD;BLUE>(1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,?]? <RESET>PAGER <CYAN>@@ -1,2 +1,3 @@<RESET> 598 + <BOLD;BLUE>(1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,P,?]? <RESET>PAGER <CYAN>@@ -1,2 +1,3 @@<RESET> 599 599 PAGER 10<RESET> 600 600 PAGER <GREEN>+<RESET><GREEN>15<RESET> 601 601 PAGER 20<RESET> 602 - <BOLD;BLUE>(1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,?]? <RESET> 602 + <BOLD;BLUE>(1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,P,?]? <RESET> 603 603 EOF 604 604 test_write_lines s y g 1 P | 605 605 ( ··· 796 796 <BLUE>+<RESET><BLUE>new<RESET> 797 797 <CYAN> more-context<RESET> 798 798 <BLUE>+<RESET><BLUE>another-one<RESET> 799 - <YELLOW>(1/1) Stage this hunk [y,n,q,a,d,s,e,p,?]? <RESET><BOLD>Split into 2 hunks.<RESET> 799 + <YELLOW>(1/1) Stage this hunk [y,n,q,a,d,s,e,p,P,?]? <RESET><BOLD>Split into 2 hunks.<RESET> 800 800 <MAGENTA>@@ -1,3 +1,3 @@<RESET> 801 801 <CYAN> context<RESET> 802 802 <BOLD>-old<RESET> 803 803 <BLUE>+<RESET><BLUE>new<RESET> 804 804 <CYAN> more-context<RESET> 805 - <YELLOW>(1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,?]? <RESET><MAGENTA>@@ -3 +3,2 @@<RESET> 805 + <YELLOW>(1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,P,?]? <RESET><MAGENTA>@@ -3 +3,2 @@<RESET> 806 806 <CYAN> more-context<RESET> 807 807 <BLUE>+<RESET><BLUE>another-one<RESET> 808 - <YELLOW>(2/2) Stage this hunk [y,n,q,a,d,K,J,g,/,e,p,?]? <RESET><MAGENTA>@@ -1,3 +1,3 @@<RESET> 808 + <YELLOW>(2/2) Stage this hunk [y,n,q,a,d,K,J,g,/,e,p,P,?]? <RESET><MAGENTA>@@ -1,3 +1,3 @@<RESET> 809 809 <CYAN> context<RESET> 810 810 <BOLD>-old<RESET> 811 811 <BLUE>+new<RESET> 812 812 <CYAN> more-context<RESET> 813 - <YELLOW>(1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,?]? <RESET> 813 + <YELLOW>(1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,P,?]? <RESET> 814 814 EOF 815 815 test_cmp expect actual 816 816 ' ··· 1424 1424 test_write_lines j s q | git add -p >out && 1425 1425 sed -ne "s/ @@.*//" -e "s/ \$//" -e "/^(/p" <out >actual && 1426 1426 cat >expect <<-EOF && 1427 - (1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,s,e,p,?]? 1428 - (2/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,?]? Sorry, cannot split this hunk 1429 - (2/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,?]? 1427 + (1/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,s,e,p,P,?]? 1428 + (2/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,P,?]? Sorry, cannot split this hunk 1429 + (2/2) Stage this hunk [y,n,q,a,d,k,K,j,J,g,/,e,p,P,?]? 1430 1430 EOF 1431 1431 test_cmp expect actual 1432 1432 '