Hi, On Mon, 22 Apr 2019, Jeff King wrote: > On Wed, Jan 16, 2019 at 01:09:03PM -0600, Cameron Steffen wrote: > > > I have this feature idea for git. There should be a command that > > effectively combines git add -p and git checkout -p so that I can > > navigate changed hunks and either stage or discard them. > > > > There is already a SO question asking about this exactly... > > https://stackoverflow.com/questions/11538650/simultaneously-git-add-p-and-git-checkout-p > > > > Has this been discussed before? Is this a reasonable request? If so, I > > might look into contributing the change myself. > > This is something I've sometimes wanted, too. I don't think it would be > _too_ hard to do by modifying the add-interactive code. Both of those > operations are driven by the same code; see the %patch_modes hash in > git-add--interactive.perl, which defines the various situations. You > would need to modify the actual code to handle the tri-state (there is > not just "yes, apply it" and "no, leave it alone", but now "apply / > discard / skip"). But it seems do-able. > > If you do plan to work on it, be aware that the perl bits of > add--interactive are being re-written in C. So it might make sense to > target the new C implementation instead of modifying the perl. The work on that is tracked in PRs 170-175 on https://github.com/gitgitgadget/git, i.e. - https://github.com/gitgitgadget/git/pull/170 - https://github.com/gitgitgadget/git/pull/171 - https://github.com/gitgitgadget/git/pull/172 - https://github.com/gitgitgadget/git/pull/173 - https://github.com/gitgitgadget/git/pull/174 - https://github.com/gitgitgadget/git/pull/175 Ciao, Johannes