Re: Request: git add --interactive: split hunk: When can't split further, split on empty lines
- Date: Thu, 30 May 2019 20:26:29 +0100
- From: Philip Oakley <philipoakley@xxxxxxx>
- Subject: Re: Request: git add --interactive: split hunk: When can't split further, split on empty lines
Hi, some minor comments.
On 30/05/2019 15:53, Johannes Schindelin wrote:
A binary search style split may be an option to avoid the 'many hunks'
On Wed, 29 May 2019, James Harvey wrote:
When adding interactively, 's' can be used to split the current hunk.
Once it gets down to where 's' reports "Sorry, cannot split this
hunk", it could be useful if it would then start splitting based on
empty lines, probably leaving empty lines at the top of the split
hunks. It certainly wouldn't be perfect, and might create many hunks,
I believe that the git-gui (in tk/tcl, but using git commands) was
already able to stage individual/selected lines, so there may be some
ideas from there.
but it would be a nice alternative to manually editing the hunk.
Certainly someone could still manually edit the hunk if they didn't
want to use it in a particular situation.
While a neat idea from the users' perspective, I think that it is
technically a bit challenging, as you then have a problem to coalesce the
The thing with the splitting at context lines is that you have a much
easier time to merge individual split-hunks into a "coalesced" hunk
because the context lines stay context lines.
Having said that, there was a patch series recently to add the ability to
stage individual lines,
and I think that your feature request could be
implemented on top of that.
In the meantime, an Outreachy intern and I worked on turning `git add -i`
into a built-in (it was written in Perl, and the built-in is written in
portable C instead), and I *think* that the plan with the patch series to
stage individual lines was to re-implement it on top of the built-in patch
Would you be interested in participating in that project?