* Support worktrees.
* Provide API for extensible :Gbrowse support.
* Remove GitHub URL support in favor of rhubarb.vim.
* Provide :Gdelete to delete both file and buffer.
* Provide :Grename to move relative to file's parent directory.
* Split to open file when :Gstatus is only window.
* Provide U in :Gstatus to discard changes.
* Provide additional :Gstatus commit maps.
* Provide d2o and d3o to obtain diff during conflict.
* Support :tab Gcommit.
* Open :Gcommit tab before current.
* Support :Gdiff +cmd.
* Support gf in Git file types.
* Add flagship.vim statusline indicator.
* Use the Neovim terminal emulator for :Git.
* Bug fixes.
The distinction between "Fugitive" and "fugitive#" functions is whether
it will live in the plugin or autoload file, once the separation finally
comes to pass.
With `:Gdiff ^` on a file that has just been added, you would get an
error via `git rev-parse --verify`:
> fatal: Needed a single revision
The error message is clearer when not using `--verify`:
> fatal: Path 'X' exists on disk, but not in 'SHA'.
The behavior depends on if you use `:set hidden`, where the second
invocation works, as in will open an empty buffer - apparently since it
has been created as "a buffer with read errors" ("x" in `:ls!`) before.
Fixes https://github.com/tpope/vim-fugitive/issues/866.
As of scrooloose/nerdtree@d36b793, it was recommended to use
NERDTree.root instead of deprecated NERDTreeRoot. Also, this command
seems to be recently removed since it was throwing an Undefined
variable: b:NERDTreeRoot when starting Vim.
Use `-range` instead of `-count` to prevent Vim from interpreting a
branch name starting with a number as a count, e.g. `:Gread 123-foo`
being interpreted as `:123Gread -foo`.
This is a really contrived feature, but I want to make it possible for
people to have their cake and eat it too when it comes to custom
repository URLs that redirect to GitHub.
If you call :Gdiff on a file that's also open in a separate tab, close
it, switch to another file, and call :Gdiff again, Vim thinks the first
file is part of a 3-way diff, despite no longer being displayed in a
window. Curiously, :diffoff! seems to work around this, despite both
the documentation and source code suggesting it merely iterates over
open windows.
Closes https://github.com/tpope/vim-fugitive/issues/534