Skip to contentSkip to conversation

Print hunk number in prompt of add --patch.

PATCH In review William Pursell 2 participants 2 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Print hunk number in prompt of add --patch.

I'm considering adding a command to skip to a hunk, and just generally find myself confused about which hunk I'm looking at, so having the number in the prompt is helpful.

---
 git-add--interactive.perl |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
git-add--interactive.perl +1 -1
index b0223c3..7974cd1 100755
@@ -919,7 +919,7 @@ sub patch_update_file {
 		for (@{$hunk[$ix]{DISPLAY}}) {
 			print;
 		}
-		print colored $prompt_color, "Stage this hunk [y/n/a/d$other/?]? ";
+		print colored $prompt_color, "Stage hunk $ix [y/n/a/d$other/?]? ";
 		my $line = <STDIN>;
 		if ($line) {
 			if ($line =~ /^y/i) {
Signature · 5 lines
1.6.0.4.782.geea74.dirty


-- 
William Pursell
#1 lore raw

git-add--interactive.perl sub patch_update_file { · line 925

Quoted 13 lines · William Pursell
git-add--interactive.perl +1 -1
index b0223c3..7974cd1 100755
@@ -919,7 +919,7 @@ sub patch_update_file {
 		for (@{$hunk[$ix]{DISPLAY}}) {
 			print;
 		}
-		print colored $prompt_color, "Stage this hunk [y/n/a/d$other/?]? ";
+		print colored $prompt_color, "Stage hunk $ix [y/n/a/d$other/?]? ";
 		my $line = <STDIN>;
 		if ($line) {
 			if ($line =~ /^y/i) {

Do we know how many hunks we have at this point (and remember we need to adjust the number of hunks after splitting)?

The original one was unfriendly in that it asked "Do you want this or not? We'd rather not to say where you are nor how many more there are". Your update is slightly better but not enough: "Do you want this one or not? It is the second one but we still won't tell you how many more there are".

I'd prefer it to ask "Stage hunk 2 (of 35)?" if you are adding more words here.

I doubt "jump to hunk specified by hunk number" is useful in general. You wouldn't know what hunk number the hunk you are interested in has, until you scroll through them all.

"Jump to hunk around line number X in the preimage", or "jump to a hunk in function Y" may be useful (the latter you can do with "/^@@.*funcname" with your slash-search patch).