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

Re: Can we make interactive add easier to use?

From
Jeff King <peff@peff.net>
Date
Oct 14, 2016, 19:12 UTC
Message-ID
<20161014191254.stzzffyxk6ih3cwx@sigill.intra.peff.net>
In-Reply-To
<CAHd499AnuVximRgM0MKdq5JC-hwkrhox6bK_KA+XGrawoz2W+g@mail.gmail.com>
On Fri, Oct 14, 2016 at 08:20:40AM -0500, Robert Dailey wrote:
> Normally when I use interactive add, I just want to add files to the
> index via simple numbers, instead of typing paths. So I'll do this as
> quick as I can:

I'd generally second Matthieu's suggestion to use a combination of "git add" and "git add -p". But if you really like the interactive updater, then the optimizations I can think of are:

Show 6 quoted lines
> 1. Type `git add -i`
> 2. Press `u` after prompt appears
> 3. Press numbers for the files I want to add, ENTER key
> 4. ENTER key again to go back to main add -i menu
> 5. Press `q` to exit interactive add
> 6. Type `git commit`

We have "git add -p" to avoid having to do a similar workflow just to get to the "p"atch menu. So in theory we could have a similar shortcut to get to "u"pdate. I think it's just not in common enough use that anybody really bothered to implement it.

We also have "commit -p" (and "commit -i") already, though I do not use them myself.

That would probably take you down to:
  1. git commit --iu ;# obviously a terrible option name
  2. Press numbers, then ENTER
  3. 'q' or ENTER or ^D to exit, and jump into commit message
     automatically.

You can also set the interactive.singleKey config option to turn (2) into just "press numbers" (which works right now).

> This feels very tedious. Is there a simplified workflow for this? I
> remember using a "git index" unofficial extension to git that let you
> do a `git status` that showed numbers next to each item (including
> untracked files!) and you could do `git add 1, 2, 3-5`, etc.

TBH, that extension sounds a lot more generically useful, as it works at the shell level. I _think_ I've seen similar features implemented that are not even git specific (i.e., they work off of existing shell-completion libraries and just let you pick the options by number rather than tab-completing). Sorry I don't have any links, though. It's not something I ever used myself.

-Peff
Previous: Matthieu Moy
Message 3 of 3 in “Can we make interactive add easier to use?”
  1. Robert DaileyOct 14, 2016
  2. Matthieu MoyOct 14, 2016
  3. Jeff KingOct 14, 2016

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.