Monday, November 2, 2015

Re: [ANN]: vimagit, a new way to use git within vim

On Monday, November 2, 2015 at 11:11:45 AM UTC+1, Jérôme Reybert wrote:
> > Did you try the "D" command on the "Changes to be committed:" line in
> > a fugitive :Gstatus window? That shows a unified diff of _all_ staged
> > changes in _all_ files.
>
> I did know the 'D' command on files, but I did not know it was possible to perform "D" (or even "p") command on "Changes not staged for commit:" or "Changes to be committed:" lines. That is a nice feature indeed.
>
> > vimagit looks like a nice effort. But after watching the video, I
> > don't see what's very different from using the `D` command on the
> > "Changes to be committed:" line in a fugitive :Gstatus window. Are you
> > sure you explored all of fugitive's functionality (some of which is a
> > bit subtle)?
>
> D command on "Changes not staged for commit:" line seems to be a read only feature (which is not not the case on file lines BTW). Then you can visualize your whole repository changes to be staged, but you must go to another view to stage them. You have at least choices:
> 1- navigate through your modified/new/deleted files with Gstatus, type D, go to diff window, choose your changes with dp/do, switch again to Gstatus window to select another file.
> 2- use 'git add --patch' with fugitive, by file or for all files (typing 'p' on "Changes not staged for commit:" line).
>
> I feel that both method are not very efficient:
> 1- You must switch among windows a lot, and you don't see the overall changes.
> 2- I see two downsides with 'git add --patch'
> - this is a one way process, I you forgot to stage something, or if you you staged something you don't want, you must restart git add --patch.
> - you are limited to stage by hunk.
>
> About the video, I made it intentionally short with a simple use case. Maybe it does not highlight well the vimagit features. What vimagit brings new is:
>
> * it is more user friendly than git add --patch, because you see what you are staging immediately, and it is more interactive.
> * you can stage part of hunks (by visual selecting lines and stage selection with 'S', marking lines with 'M' and stage with 'S', or adding single lines with 'L').
>
> You may argue that it is only two points. But it makes a fresh new workflow to work with git. Then, maybe you won't like it, but give vimagit a try, and let me know how you feel with this workflow.

It's always good to hear other people talk about the tools I use every
day. Another titbit here:

After seeing the episode about fugitive.vim's :Gdiff on Vimcasts.org I
have altogether stopped using git add --patch.

Open a diff with :Gdiff or D in the status window, then stage or unstage
individual lines of your work copy/index copy with :diffget and
:diffput. It's like git add --patch but interactive and as precise as
you like.

That episode is at http://vimcasts.org/e/33. I've never looked back.


--
David

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: