Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH] RFC - Say goodbye to the rodent

From: Matthieu Moy <hidden>
Date: 2016-06-15 22:47:09

Nazri Ramliy [off-list ref] writes:
Oftentimes I get tired of moving my hand away from the comfort of the home rows
of my keybard in order to grab the mouse to highlight the files that I'd like
to operate on.
Usually, when you cut-and-paste from $(git status), it's to run a
staging/unstaging command, or to view a diff.

Actually, "git add -i" is already a pretty good way of doing this,
with few keystrokes.
Example:

$ git status --id
# On branch local
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   builtin-write-tree.c (m1)
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       file1.c (x1)
#       file2.c (x2)
$ git add -i
           staged     unstaged path
  1:    unchanged        +1/-0 builtin-write-tree.c

*** 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
Now we can do the following:

$ git add --id m1
What now> u
           staged     unstaged path
  1:    unchanged        +1/-0 [b]uiltin-write-tree.c
Update>> 1
           staged     unstaged path
* 1:    unchanged        +1/-0 [b]uiltin-write-tree.c
Update>> 
updated one path

*** 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
Ids are specified via the --id command line option, and can be separated with
commas if you want to specify more than one of them:

$ git add --id m1,x2
What now> a
  1: file1.c
  2: file2.c
Add untracked>> 1
* 1: file1.c
  2: file2.c
Add untracked>> 2
* 1: file1.c
* 2: file2.c
Add untracked>> 
added 2 paths

for these examples, I have far fewer keystrokes with "git add -i" than
you have. I don't think it's worth adding yet-another-option to most
Git commands since it doesn't really bring much IMHO.

-- 
Matthieu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help