git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[feature wishlist] add commit subcommand to git add -i

From
JCJim Cromie <jim.cromie@gmail.com>
Date
Aug 14, 2011, 08:38 UTC
Message-ID
<CAJfuBxwW8Dyp8FTS13uPOBKZGL9JOEqaSOhGN+zBJ_8BHpJE3g@mail.gmail.com>
when using git add -i, it would be handy to have a [c]ommit option.

This would save some typing: q # to quit git add -i $> commit .... git add -i <file> # to resume incremental adds

*** Commands ***
  1: [s]tatus	  2: [u]pdate	  3: [r]evert	  4: [a]dd untracked
  5: [p]atch	  6: [d]iff	  7: [q]uit	  8: [h]elp
  9: [c]commit
What now>

[f]ragment would also be handy, which would break each chunk of a diff into a separate commit, with the summary line provided automatically <file> @@ -696,7 +692,7 @@ int foo ...

This would help a bit with random cleanups, since rebase -i could then be used to reorder and recombine the fragments, and edit the commit messages afterwards.

going further, if git rebase -i had ability to "back" a fixup patch back to where it should have been, and adjust the intervening patches where conflict would normally happen, that would be awesome. Simplistically, this would just shift the patch 1 step back iteratively, until it wouldnt apply properly, and then --abort, stopping at the last clean rebase.

apologies if this is too hair-brained, or already done.
Next: Conrad Irwin
Message 1 of 6 in “[feature wishlist] add commit subcommand to git add -i”
  1. Jim CromieAug 14, 2011
  2. Conrad IrwinAug 14, 2011
  3. Jim CromieAug 15, 2011
  4. Ramkumar RamachandraAug 14, 2011
  5. Jim CromieAug 15, 2011
  6. Thomas RastAug 15, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.