diff options
author | Thomas Rast <trast@student.ethz.ch> | 2008-07-02 23:59:16 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-07-02 15:31:12 -0700 |
commit | 8cbd4310821ea2957d32a36c34fa314cf99ca9f3 (patch) | |
tree | 6e5446d3b84749269f47103ed1531ec74cca17c4 /git-add--interactive.perl | |
parent | 8cb560fc470ee0d94e188d4e9deb14b0c8ac7a91 (diff) | |
download | git-8cbd4310821ea2957d32a36c34fa314cf99ca9f3.tar.gz |
git-add--interactive: replace hunk recounting with apply --recount
We recounted the postimage offsets to compensate for hunks that were
not selected. Now apply --recount can do the job for us.
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-add--interactive.perl')
-rwxr-xr-x | git-add--interactive.perl | 30 |
1 files changed, 3 insertions, 27 deletions
diff --git a/git-add--interactive.perl b/git-add--interactive.perl index 903953e68e..e1964a588e 100755 --- a/git-add--interactive.perl +++ b/git-add--interactive.perl @@ -970,39 +970,15 @@ sub patch_update_file { push @result, @{$mode->{TEXT}}; } for (@hunk) { - my $text = $_->{TEXT}; - my ($o_ofs, $o_cnt, $n_ofs, $n_cnt) = - parse_hunk_header($text->[0]); - - if (!$_->{USE}) { - # We would have added ($n_cnt - $o_cnt) lines - # to the postimage if we were to use this hunk, - # but we didn't. So the line number that the next - # hunk starts at would be shifted by that much. - $n_lofs -= ($n_cnt - $o_cnt); - next; - } - else { - if ($n_lofs) { - $n_ofs += $n_lofs; - $text->[0] = ("@@ -$o_ofs" . - (($o_cnt != 1) - ? ",$o_cnt" : '') . - " +$n_ofs" . - (($n_cnt != 1) - ? ",$n_cnt" : '') . - " @@\n"); - } - for (@$text) { - push @result, $_; - } + if ($_->{USE}) { + push @result, @{$_->{TEXT}}; } } if (@result) { my $fh; - open $fh, '| git apply --cached'; + open $fh, '| git apply --cached --recount'; for (@{$head->{TEXT}}, @result) { print $fh $_; } |