I hadn't tried Magit before now, but on the suggestion of this blog I'm giving it a look through. Looks good so far. I also enjoy the style the blog is using: anyone know what backend the author is using?
One thing I hated about magit was that I couldn't stage multiple files with a region or similar. I'm currently on my phone for the rest of the evening so I won't have chance to check - if you notice this has arrived in your testing, do let me know!
I usually use shell emulator + company for dir/file autocomplete. This is the fastest I've got to staging individuals files or dirs, especially with projects that have a dir depth bigger than 1.
In magit-status-mode I'm able to stage files based on the region.
I can also expand them and highlight multiple chunks to stage just those chunks.
The are only two major things I don't know how to do with the current stable version of Magit (1.4). One is starting an interactive rebase. It can take you through the commits and let you edit the buffer, but I haven't figured out if it's possible to start an interactive rebase without using the "!" command line.
The other thing is checking out files in order to revert them, I'm sure there's a way but using "!" and pasting the file names in still seems fastest.
I've also been wondering if it's possible to write a command to manage the `--skip-worktree` status of files, showing which are currently skipped in magit-status-mode. That would be a useful thing for me to have.
This feature has been available for some time, I believe. In magit-status, just select with region the files and then `s` to stage the highlighted files.
Interactive rebase/squash is tough to find... so here it is.
in Magit status, do l l (log, short-log)
Select the sha1/commit you want to begin squash/pick rebasing...
press E
off you go.