[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#736939: ITP: vim-fugitive -- A Git wrapper so awesome, it should be illegal



Excerpts from Andrea Capriotti's message of 2014-01-28 08:49:34 -0800:
> Package: wnpp
> Severity: wishlist
> Owner: Andrea Capriotti <capriott@debian.org>
> 
> * Package name    : vim-fugitive
>   Version         : 2.0
>   Upstream Author : Tim Pope <vim.org@tpope.org>
> * URL             : http://www.vim.org/scripts/script.php?script_id=2975
> * License         : Vim license
>   Programming Lang: Vim
>   Description     : A Git wrapper so awesome, it should be illegal
> 
>  I'm not going to lie to you; fugitive.vim may very well be the best Git
>  wrapper of all time. Check out these features:
> 
>  View any blob, tree, commit, or tag in the repository with :Gedit
>  (and :Gsplit, :Gvsplit, :Gtabedit, ...). Edit a file in the index and write to
>  it to stage the changes. Use :Gdiff to bring up the staged version of the file
>  side by side with the working tree version and use Vim's diff handling
>  capabilities to stage a subset of the file's changes.
> 
>  Bring up the output of git status with :Gstatus. Press - to add/reset a file's
>  changes, or p to add/reset --patch that mofo. And guess what :Gcommit does!
> 
>  :Gblame brings up an interactive vertical split with git blame output. Press
>  enter on a line to edit the commit where the line changed, or o to open it in
>  a split. When you're done, use :Gedit in the historic buffer to go back to the
>  work tree version.
> 
>  :Gmove does a git mv on a file and simultaneously renames the buffer. :Gremove
>  does a git rm on a file and simultaneously deletes the buffer.
> 
>  Use :Ggrep to search the work tree (or any arbitrary commit) with git grep,
>  skipping over that which is not tracked in the repository. :Glog loads all
>  previous revisions of a file into the quickfix list so you can iterate over
>  them and watch the file evolve!
> 
>  :Gread is a variant of git checkout -- filename that operates on the buffer
>  rather than the filename. This means you can use u to undo it and you never
>  get any warnings about the file changing outside Vim. :Gwrite writes to both
>  the work tree and index versions of a file, making it like git add when called
>  from a work tree file and like git checkout when called from the index or a
>  blob in history.
> 
>  Use :Gbrowse to open the current file on GitHub, with optional line range (try
>  it in visual mode!). If your current repository isn't on GitHub, git instaweb
>  will be spun up instead.
> 
>  Add %{fugitive#statusline()} to 'statusline' to get an indicator with the
>  current branch in (surprise!) your statusline.
> 
>  Last but not least, there's :Git for running any arbitrary command, and Git!
>  to open the output of a command in a temp file.
> 

I suspect there have been no responses to this yet because everyone who
would take issue with this is suffering from an exploded head. :)

My only criticism is, if you're going to evoke Richard Sherman's spirit,
do it right. I suggest changing the short description to just "DON'T
TALK ABOUT GIT-FUGITIVE".


Reply to: