Re: [PATCH] Teach git-gui to split hunks
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 12, 2007, 20:18 UTC
- Message-ID
- <7vk5nj7jkp.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <Pine.LNX.4.64.0712121931050.27959@racer.site>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 7 quoted lines
> When you select the context menu item "Split Hunk" in the diff area, > git-gui will now split the current hunk so that a new hunk starts at > the current position. > > For this to work, apply has to be called with --unidiff-zero, since > the new hunks can start or stop with a "-" or "+" line. > ...
I still have conceptual problem with this whole thing. For example, what does that MEAN to split this hunk from your patch...
Show 9 quoted lines
> @@ -296,7 +369,7 @@ proc apply_hunk {x y} {
> if {$current_diff_path eq {} || $current_diff_header eq {}} return
> if {![lock_index apply_hunk]} return
>
> - set apply_cmd {apply --cached --whitespace=nowarn}
> + set apply_cmd {apply --cached --whitespace=nowarn --unidiff-zero}
> set mi [lindex $file_states($current_diff_path) 0]
> if {$current_diff_side eq $ui_index} {
> set failed_msg [mc "Failed to unstage selected hunk."]... by clicking between the '-' and '+' lines, and apply only one half?
Well, the question was not very well stated. I know what it means -- remove that old line, without replacing with the corrected/updated one. The real question is how would that be useful?