Commit Graph

1179 Commits

Author SHA1 Message Date
Rob Pilling
9e4a5239ee Respect 'wildignorecase' when completing :Gedit 2020-02-20 16:07:24 -05:00
Rob Pilling
349b18d373 Pull out s:fileignorecase() 2020-02-20 16:07:24 -05:00
Tim Pope
2e67f82b79 Refine handling of pagination via temp buffer
Use temp buffer for output of any command for which the Git
configuration option of pager.<command> is true.  Avoid using a temp
buffer if the value is false, even for commands like "show" where we
normally would.  If the configuration value is present and can't be
interpreted as a Boolean, punt to a :terminal where Git will invoke it
directly.

Generate and use custom config dictionary that includes -c values passed
to :Git.  This enables `:Git -c pager.status status` to correctly use a
pager.

Paginate "config", "branch", and "tag" for certain argument lists,
matching the logic found in the Git source code as closely as possible.
These 3 commands were identified as having special pagination logic by
the presence of the DELAY_PAGER_CONFIG flag on their definitions in
git.c.

Paginate "am --show-current-patch".

References https://github.com/tpope/vim-fugitive/issues/1415
2020-02-18 21:00:01 -05:00
Tim Pope
a81ba999e8 Correctly treat config keys without values as true 2020-02-18 20:59:50 -05:00
Tim Pope
d10dc9ea93 Quarantine deprecated commands in documentation 2020-02-18 14:09:24 -05:00
Tim Pope
2401f1a7da Work around minibufexpl/autochdir induced error
Closes https://github.com/tpope/vim-fugitive/issues/1456
2020-02-18 12:33:58 -05:00
Appu Joseph
81ca98d7e8 Fix Trailing Characters, Invalid range error for :<count>Gstatus
Correct the position of newly added keepalt option from
'botright <count>keepalt split' to 'botright keepalt <count>split'
2020-02-18 10:15:07 -05:00
Tim Pope
9f69019424 Partially support :Git difftool on old Git 2020-02-15 20:18:15 -05:00
Tim Pope
98f67310aa Parameterize subcommand Git executable 2020-02-15 20:18:09 -05:00
Tim Pope
0e6f72b005 Allow custom subcommands outside of Git repository 2020-02-05 14:40:22 -05:00
Tim Pope
e144a9f559 Extract helper for setting job environment 2020-02-05 14:40:22 -05:00
Tim Pope
df3ac9d278 Enable opening arbitrary URLs with :Gbrowse
This is still doing a lot of unnecessary processing looking for a
remote, but it doesn't seem to hurt anything.
2020-02-05 14:40:22 -05:00
Tim Pope
3c45ed0d13 Fix false positive on deprecated :.Glog usage 2020-02-05 14:27:27 -05:00
Tim Pope
a95972cefc Don't clobber alternate buffer on :Gstatus 2020-02-05 12:48:47 -05:00
Tim Pope
18582f4986 Remove deprecated C map to fix broken warning
https://github.com/tpope/vim-fugitive/issues/1458
2020-02-05 12:48:47 -05:00
Tim Pope
083f3c23cc Preserve existing 'scrollbind' arrangement with :Gblame
Closes https://github.com/tpope/vim-fugitive/issues/1449

Closes https://github.com/tpope/vim-fugitive/issues/1327
2020-02-03 11:25:49 -05:00
Tim Pope
9ecd6ebf92 Eliminate last temporary :cd
The new git_chomp and git_chomp_in_tree aren't 100% backwards
compatible, but these functions are deprecated anyways.  Use
system(FugitivePrepare(...)) instead.
2020-02-03 10:17:37 -05:00
Tim Pope
3221cdfbde Support :Git -c config.name=value 2020-02-02 15:31:02 -05:00
Tim Pope
8e90d82eb4 Use --no-optional-locks for :Gstatus
This clears up some intermittent errors during :Git rebase, although I
must admit I don't really understand why, as the status reload shouldn't
be happening at the same time :Git is running.
2020-02-01 10:49:35 -05:00
Tim Pope
1c1014a046 Continue running commands on Vim exit
Closes https://github.com/tpope/vim-fugitive/issues/1447
2020-01-30 13:01:17 -05:00
Tim Pope
268a9c1b8f Don't make assumptions about current line number when displaying commit 2020-01-26 17:39:32 -05:00
Tim Pope
fc0199555e Extend nvim carriage return workaround to ptys
References https://github.com/tpope/vim-fugitive/issues/1445
2020-01-26 15:37:02 -05:00
Tim Pope
d926e3beb4 Try to wipe out temp buffer from :read
Also try to preserve marks.
2020-01-26 10:57:19 -05:00
Tim Pope
40872a9555 Don't use job pty unless Vim supports it
Closes https://github.com/tpope/vim-fugitive/issues/1444
2020-01-26 08:01:34 -05:00
Tim Pope
279d56eb47 Show unpulled before unpushed
This is what Magit does and I *think* it makes sense because you have to
pull before you can push.
2020-01-26 07:24:02 -05:00
Tim Pope
54b308eedb Revert work in progress changes
This partially reverts commit cd7db1d57c.
2020-01-26 07:24:02 -05:00
Tim Pope
655f7c92f3 Show unpushed and unpulled sections for both upstream and push
References https://github.com/tpope/vim-fugitive/issues/1436

References https://github.com/tpope/vim-fugitive/issues/1172
2020-01-25 20:34:28 -05:00
Tim Pope
477f26cf50 Include refs/heads in constructed push commands
Also swap out :Gpush for :Git push while we are at it.
2020-01-25 20:20:02 -05:00
Tim Pope
76ffaf4e7d Recognize pull.rebase=preserve in :Gstatus 2020-01-25 18:31:03 -05:00
Tim Pope
90b7d98b6c Temporarily restore User Fugitive autocommand
References https://github.com/tpope/vim-fugitive/issues/1441
2020-01-25 11:29:13 -05:00
Tim Pope
4637aca145 Remove tags file warning
This was the last thing triggering the autoload file before using an
actual Fugitive feature.
2020-01-24 17:34:41 -05:00
Tim Pope
cd7db1d57c Replace old public detection API with hint errors 2020-01-24 17:15:25 -05:00
Tim Pope
036fe0f084 Job environment variables are broken on Neovim
Closes https://github.com/tpope/vim-fugitive/issues/1443
2020-01-24 05:46:41 -05:00
Tim Pope
22255613f7 Replace :Gcommit/:Grevert with standard job runner 2020-01-23 05:52:27 -05:00
Tim Pope
c989c1f59e Replace :Grebase/:Gmerge/:Gpull with standard job runner 2020-01-23 05:52:27 -05:00
Tim Pope
6b18f7b758 Remove :Gwrite in :Git diff 2020-01-23 05:52:27 -05:00
Tim Pope
8d6f9734c1 Use jobs for :Git 2020-01-23 05:52:27 -05:00
Tim Pope
4301c57f24 Extract helper script creator function 2020-01-23 05:52:27 -05:00
Tim Pope
7f22cc6167 Revert "Specify shell command, not wrapper, in b:dispatch"
This reverts commit 5bcb42164e.
2020-01-23 03:49:14 -05:00
Tim Pope
9d62c67737 Remove legacy autocommands 2020-01-22 09:44:07 -05:00
Tim Pope
71038e83f1 Try to use relative path for :Ggrep
References https://github.com/tpope/vim-fugitive/issues/1439
2020-01-21 15:29:29 -05:00
Tim Pope
8d4b85ed09 Replace --format with --pretty=format for older Git 2020-01-20 15:42:54 -05:00
Tim Pope
c48db08e4e Use appropriate slashes for :Dispatch working directory 2020-01-20 10:27:00 -05:00
Tim Pope
2ebdeef9e0 Change :Git --paginate from :terminal to temp buffer
The --paginate option to Git forces it to use $PAGER rather than its own
configuration, so it makes perfect sense for Fugitive to take on the
role of the pager.

This also removes the same behavior for --no-pager, allowing the command
to run with :! instead.  I really don't like sudden backwards
incompatible changes like this, but the old behavior was based on a bad
understanding of how these options work, and I'd rather rip the band-aid
off sooner rather than later.
2020-01-20 09:03:49 -05:00
Tim Pope
bc0b78ee84 Remove dead code 2020-01-20 08:42:02 -05:00
Tim Pope
5bcb42164e Specify shell command, not wrapper, in b:dispatch
This frees us up to change :Gfetch not to use :Make.
2020-01-20 07:28:55 -05:00
Tim Pope
397fb99921 Provide FugitiveBlob style autocommands
This is the real replacement for fugitive#buffer().type(), as the only
real world use of that seemed to be in BufReadPost autocommands.
2020-01-20 05:52:22 -05:00
Tim Pope
5b1213d0db Fix :Gmerge 2020-01-20 05:52:22 -05:00
Tim Pope
ae52b5a96a Better PowerShell support 2020-01-18 01:30:43 -08:00
Tim Pope
9f032ed040 Prevent alternate buffer change loading Fugitive buffer 2020-01-18 00:51:38 -05:00