The diff on a root commit is often large and seldom helpful, so let's
get rid of it. This will also be one less thing to worry about when
changing to a fugitive file type.
I constantly have to ask about this to troubleshoot bug reports, so make
it easier to determine.
Also rename g:fugitive_pty to make it clearer that it's not a preference
but a debugging tool.
Starting with Git 2.11 cat-file provides --filters option that can be
specified instead of "blob" type. This option tells Git to use all
filters specified in .gitattributes.
This enables diffs for files with filters, for example, git-crypt.
Closes#1509
Scrolling with win_execute() works fine while the command is running,
but once the job has finished, it fails to update the viewport until the
window is focused. I don't get it. It's not like the window knows a
job is running. The only obvious trigger I could find is that
'nobuflisted' is set once once the job completes, but even disabling
that behavior fails to rectify the problem. Screw it, manual focus
bouncing for everyone.
References: https://github.com/tpope/vim-fugitive/issues/1832
Use <mods> for :copen rather than :cfirst, as that seems to be the more
useful of the two.
When I call :vertical copen, I get a window that is initially 10
columns wide, but which resizes to 20 columns upon blurring and
refocusing. Not sure what's up with that, but 10 columns is comically
narrow, so let's go ahead and open at 20 columns to begin with.
Resolves: https://github.com/tpope/vim-fugitive/issues/1831
I'm not sure if this should trigger every time the buffer is loaded, or
only on the initial split. Arbitrarily pick the latter for now.
References: https://github.com/tpope/vim-fugitive/issues/1828
* Use jobs for all Git execution. Faster and less prone to user error.
* Stream :Git! to the preview window.
* Make :Git grep behave like other :Git commands, not :Ggrep.
* Silence output and open quickfix list on :Ggrep -q.
* Support :Ggrep outside repository with --no-index.
* Expand ##, $ENVVAR, and ~/path in arguments to :Git.
* Expand "%" and other special sequences during tab completion.
* Improve tab completion for :Git push.
* Disable -- More -- prompt on :Git push, fetch, and --no-pager.
* Provide FugitiveObject/FugitiveStageBlob/FugitivePager events.
* Simplify :Gdiffsplit "smart" split direction.
* Support jump to commit in :Git log --graph.
* Use local not upstream branch name for :GBrowse default.
* Better support for ssh config in :GBrowse.
* Replace older deprecation warnings with error messages.
* Assorted public API enhancements.
* Require Git 1.8.5 or newer.
* Require Vim 7.3 or newer. Full functionality requires Vim 8.1.
* Directly echo :Git output for trivial commands like "add" on Vim 7.
* Fix E1208 when loading plugin on Vim 8.2.3141.