Commit Graph

2214 Commits

Author SHA1 Message Date
Tim Pope
9a4f1e9df2 Extract helper for checking for same repository 2022-05-27 18:20:45 -04:00
Tim Pope
0e9f763c7b Allow :GBrowse : to browse to repository homepage 2022-05-22 22:26:45 -04:00
Tim Pope
fb32927ff5 Use correct normalization of URL in fugitive#Path() 2022-05-22 22:26:45 -04:00
Tim Pope
22a843f8e6 Add missing ! to function definition 2022-05-22 22:26:45 -04:00
Tim Pope
9f30e4d904 Experimentally allow passing Git dir to fugitive#Command()
References: https://github.com/tpope/vim-fugitive/issues/1981
2022-05-22 17:33:53 -04:00
Tim Pope
cdacef342d Distinguish between uses of Git dir, part 2
See 5d1a276b45.
2022-05-21 21:35:50 -04:00
Tim Pope
f48cbb92c5 Read more of config file for core.worktree check
References: https://github.com/tpope/vim-fugitive/issues/1920
2022-05-21 21:35:50 -04:00
Tim Pope
589e8b51c2 Track correct window when blaming twice-open buffer
Resolves: https://github.com/tpope/vim-fugitive/issues/1992
2022-05-21 21:35:49 -04:00
Tim Pope
5b62c75238 Extract Git dir cache keys to local variables
Allow for a non-string representation of the repository to replace the
dir parameter.
2022-05-14 02:35:39 -04:00
Tim Pope
a8139d37b2 Properly normalize Git dir in 'keywordprg' 2022-05-13 01:56:20 -04:00
Tim Pope
f529acef74 Force Vim path normalization in fugitive#Path()
This only matters for use cases where the paths differ by more than just
slashes (theoretically possible with mixed WSL setups).
2022-05-11 02:12:21 -04:00
Tim Pope
87923d1b1b Fix HEAD cache expiry on FugitiveDidChange() 2022-05-11 00:23:14 -04:00
Tim Pope
af8b352dbf Remove redundant "dir" keys from dictionaries 2022-05-11 00:23:14 -04:00
Tim Pope
b81c59bd6a Remove fugitive#head() 2022-05-10 22:47:05 -04:00
Tim Pope
b7287bd542 Provide explicit explanation of command naming 2022-04-26 16:21:33 -04:00
Tim Pope
b5bbd0d181 Clarify ~ and P maps in blame window
Resolves: https://github.com/tpope/vim-fugitive/issues/1980
2022-04-21 15:05:35 -04:00
Tim Pope
b04708af2d Revert "Avoid IO from ":p" during detection"
This change failed to account for the directory edge case, where ":p:h"
has the very nice property of giving us back the original input, due to
":p" appending a trailing slash.  Without this, we fail to detect when
editing the root of the repository.

This reverts commit 1b811b88a4.

Resolves: https://github.com/tpope/vim-fugitive/issues/1978
Resolves: https://github.com/tpope/vim-fugitive/issues/1979
2022-04-20 23:25:14 -04:00
Tim Pope
1b811b88a4 Avoid IO from ":p" during detection 2022-04-20 18:29:45 -04:00
Tim Pope
ed1ff363df Remove another acwrite check 2022-04-20 18:29:45 -04:00
Tim Pope
e064f42770 Don't consider buftype=acwrite buffers to have real filenames
Immediately after I changed this I rediscovered the documentation at
`:help E676`.
2022-04-20 18:28:44 -04:00
Maksim Odnoletkov
70251a915f Show local commits when no upstream is set
References: https://github.com/tpope/vim-fugitive/issues/1963
Resolves: https://github.com/tpope/vim-fugitive/issues/1977
2022-04-20 14:47:15 -04:00
Tim Pope
200593827e Adjust handling of 'buftype' during detection 2022-04-19 18:35:15 -04:00
Tim Pope
4b0f2b6045 Default g:ceiling_directories to parent of $HOME
References: https://github.com/tpope/vim-fugitive/issues/1457
2022-04-14 02:31:49 -04:00
Tim Pope
a252be79c0 Check for ch_close_in() to ensure full Vim jobs support
Resolves: https://github.com/tpope/vim-fugitive/issues/1973
2022-04-12 19:51:42 -04:00
Tim Pope
cba863444c Move unpushed sections above unpulled, again
This reverts commit 279d56eb47
(effectively).

References: https://github.com/tpope/vim-fugitive/issues/1963
2022-04-05 12:13:40 -04:00
Tim Pope
d725ef529e Turn remaining deprecated commands into error stubs 2022-04-01 18:27:49 -04:00
Tim Pope
8f169a84ff Allow simultaneous blames in diffed buffers
References: https://github.com/tpope/vim-fugitive/pull/1327
2022-04-01 18:27:49 -04:00
Tim Pope
d9a914b14d Replace 'cursorbind' in blame with manual line syncing
This is the only way to sync the line without also syncing the column.
Syncing the column is particularly problematic when it causes the blame
window to vertically scroll while typing.
2022-04-01 18:27:44 -04:00
Tim Pope
c0701f7a0e Fix expansion of SSH host aliases
Resolves: https://github.com/tpope/vim-fugitive/issues/1962
2022-03-30 11:08:14 -04:00
Tim Pope
321328c6c5 Avoid I/O from ":p" when handling temp files
This isn't a big deal for temp files themselves, but if we're checking
an arbitrary buffer, it's possible we'll end up hitting a slow network
share just to find out if the path is relative.

This new s:AbsoluteVimPath() helper could potentially be reused in a lot
of places.  But this diff is big enough as is; save that for later.
2022-03-26 15:41:55 -04:00
Tim Pope
8157efff49 Provide g:fugitive_defer_to_existing_maps
References: https://github.com/tpope/vim-fugitive/issues/1425
2022-03-25 18:08:01 -04:00
Tim Pope
b6405d8908 Provide literally named <Plug> maps
For every map X, also provide a map <Plug>fugitive:X.

References: https://github.com/tpope/vim-fugitive/issues/1425
2022-03-25 17:50:32 -04:00
Tim Pope
5716e11776 Fix line wrap in README 2022-03-24 08:02:43 -04:00
Tim Pope
46652a304f Add :GUnlink, like in eunuch.vim
This currently mirrors :GRemove, but gives us the option to add a third
variant.
2022-03-09 10:50:24 -05:00
Tim Pope
afd6c13c6b Fix infinite loop when summary window contains no sections
Resolves: https://github.com/tpope/vim-fugitive/issues/1954
2022-03-01 07:35:31 -05:00
Tim Pope
485ce07c27 Match FugitiveRemote() interface to window.location in JS 2022-02-11 13:02:45 -05:00
Tim Pope
c29ef11cd6 Parse anchor in remote URL
I've never seen this in practice, but if it does happen, we shouldn't
include it in the value for "path".
2022-02-11 13:02:45 -05:00
Tim Pope
6c19f1ddfb More robut escaping of +cmd arguments
Resolves: https://github.com/tpope/vim-fugitive/issues/1938
2022-02-02 11:53:01 -05:00
Tim Pope
a443104489 Add czs as :Git stash push --staged
Resolves: https://github.com/tpope/vim-fugitive/issues/1941
2022-02-02 05:49:09 -05:00
Roger Bongers
59529a2c36 Add basic bisect subcommand completion 2022-01-24 21:13:07 -05:00
othree
9e8859d666 Add LICENSE file 2022-01-22 00:09:26 +08:00
Tim Pope
a93ceff61f Support extensions.worktreeConfig
Resolves: https://github.com/tpope/vim-fugitive/issues/1898
2022-01-13 14:06:42 -05:00
Tim Pope
f4d94c5985 Move CommonDir() from autoload to plugin 2022-01-11 18:47:38 -05:00
Tim Pope
bb4f9e660b Add core.worktree to FAQ 2022-01-11 18:39:40 -05:00
Tim Pope
189e3c406e Eliminate filereadable() guards by catching readfile() error 2022-01-11 18:36:36 -05:00
Tim Pope
944dc602c6 Require core.bare=true for bare repositories
Resolves: https://github.com/tpope/vim-fugitive/issues/1920
2022-01-11 13:50:55 -05:00
Tim Pope
fa20e5e77c Remove :silent from all :checktime uses
This can appear to hang with 'noautoread', or if the buffer has changed
in memory.  In reality it's not hanging, it's just silenced the
interactive prompt.

Resolves: https://github.com/tpope/vim-fugitive/issues/1917
2022-01-10 11:08:29 -05:00
Tim Pope
57968b63c2 Support tab complete of :Git push remote \+branch
Resolves: https://github.com/tpope/vim-fugitive/issues/1916
2022-01-05 11:10:57 -05:00
Tim Pope
88a97127d1 Account for optional escaping in tab complete
Tab complete results are always passed to fnameescape(), which can
result in the output having more backslashes than the input, causing
those results to be filtered out.  Attempt to reconcile this.

References: https://github.com/tpope/vim-fugitive/issues/1916
2022-01-05 11:08:38 -05:00
Tim Pope
b6dbb97759 Extend lazy detection to netrw
The requires dropping support for b:netrw_curdir, which was added in
fecd42864a for the vague reason of
handling "unusually named netrw buffers".  I'll figure out what to do
about those alleged buffers when one of them surfaces again.
2022-01-05 11:07:15 -05:00