Tim Pope
ef87434b87
Provide :Git difftool and :Git mergetool
...
References https://github.com/tpope/vim-fugitive/issues/132
2020-01-05 16:36:11 -05:00
Tim Pope
2bcf755c6e
Run QuickFix autocommands on :Gclog
2020-01-05 16:36:11 -05:00
Tim Pope
295f41bbf4
Save diff context in :Gclog
2020-01-05 16:17:58 -05:00
Tim Pope
9ec6b55d03
Improve display of :Gclog --summary
2020-01-05 01:50:24 -05:00
Tim Pope
3604fab3b7
Fix whitespace in README
2020-01-05 01:50:24 -05:00
Tim Pope
6d011f1ea5
Improve :Gclog window title
2020-01-05 00:36:36 -05:00
Tim Pope
726fdf1c94
Support ...commit as HEAD...commit
2020-01-03 19:47:08 -05:00
Tim Pope
3bf602b13d
Use underlying commit not tag for :Gedit tag:path
2019-12-27 17:19:42 -05:00
Tim Pope
3729c351e1
Fix unknown function error on Vim < 7.2.061
2019-12-27 17:19:42 -05:00
Tim Pope
7848779d3b
Don't error if we can't :bwipeout
...
References https://github.com/tpope/vim-fugitive/issues/1418
2019-12-27 17:19:42 -05:00
Tim Pope
6d4564a05e
Fix timer invocation
...
References https://github.com/tpope/vim-fugitive/issues/1329
2019-12-07 10:14:14 -05:00
Tim Pope
5d37b17e34
Match Git semantics for GIT_CEILING_DIRECTORIES symlink resolution
...
Also support a generic g:ceiling_directories that can be shared with
other plugins that do this sort of detection.
References https://github.com/tpope/vim-fugitive/issues/1412
2019-12-06 18:03:32 -05:00
Tim Pope
b48a572475
Use timers to avoid Vim patch 8.1.1756
...
Closes https://github.com/tpope/vim-fugitive/issues/1329
2019-12-06 14:39:27 -05:00
Tim Pope
e1ab8fff09
Handle both amended and new commits during rebase
...
References https://github.com/tpope/vim-fugitive/issues/1329
2019-12-06 14:39:27 -05:00
Tim Pope
d3a2bdbe2c
Don't abort rebase after committing on last step
...
References https://github.com/tpope/vim-fugitive/issues/1329
2019-12-06 14:12:35 -05:00
Tim Pope
42c6fd1440
Don't override explicit empty string for core.askPass
...
References https://github.com/tpope/vim-fugitive/issues/1410
2019-12-06 12:56:59 -05:00
Tim Pope
671a85daba
Fix erroneous ? escaping in * pattern
2019-11-30 17:19:52 -05:00
Tim Pope
6d9dd103c0
Fix false positive matching filename in blame
2019-11-30 17:15:44 -05:00
Tim Pope
3b1da8b217
Remove debugging function
2019-11-27 16:34:28 -05:00
Tim Pope
67efbf66e0
Don't fall back to pwd for Git dir of blank filename
...
In particular, this fixes `FugitiveFind(..., '')` to respect the empty
Git dir argument rather than falling back to detection on the current
working directory. Which in turn fixes :Gstatus using the current
working directory when called from a buffer that does not belong to a
repository.
References https://github.com/tpope/vim-fugitive/issues/1408
2019-11-27 15:27:52 -05:00
Tim Pope
eed46c1f24
Perform automatic :diffoff on :Gdiffsplit /external/file buffers
...
Closes https://github.com/tpope/vim-fugitive/issues/1402
2019-11-21 22:08:37 -05:00
Tim Pope
dc5320630d
Provide explanatory error on :Gdiff ~
...
References https://github.com/tpope/vim-fugitive/issues/1402
2019-11-19 17:48:43 -05:00
Tim Pope
13fdeb5fa7
Don't show bogus unstaged changes in bare repository
...
References https://github.com/tpope/vim-fugitive/pull/1262
2019-11-17 22:19:33 -05:00
Tim Pope
a2d76c4583
Fix completion of stash@\{<Tab>
...
References https://github.com/tpope/vim-fugitive/issues/1396
2019-11-16 19:48:31 -05:00
Tim Pope
0004f585fd
Don't use arrow notation for unstaged modifications
...
Closes https://github.com/tpope/vim-fugitive/issues/1392
2019-11-15 20:31:29 -05:00
Tim Pope
b24f98fbb1
Cache fugitive#Head() to minimize statusline IO
...
Closes https://github.com/tpope/vim-fugitive/issues/1384
2019-11-15 20:05:18 -05:00
Tim Pope
8c84ea6fdb
Replace --no-patch with -s for Git < 1.8.4
...
Closes https://github.com/tpope/vim-fugitive/issues/1398
2019-11-12 21:31:36 -05:00
Tim Pope
1e57d678ba
Add PayPal donation link
2019-11-08 17:41:09 -05:00
Tim Pope
f6acae50ea
Improve robustness of status --porcelain=v1 parsing
...
References https://github.com/tpope/vim-fugitive/issues/1388
2019-10-27 18:53:19 -04:00
Tim Pope
0356edf6b8
Optimize away log calls in :Gstatus if no upstream changes
2019-10-26 09:05:49 -04:00
Tim Pope
e8c5b604db
Improve robustness of status --porcelain=v2 parsing
...
Closes https://github.com/tpope/vim-fugitive/issues/1388
2019-10-26 08:49:23 -04:00
Tim Pope
b09c5d2523
Resolve symlinks in configured work tree
...
Closes https://github.com/tpope/vim-fugitive/issues/1382
2019-10-22 05:13:42 -04:00
Tim Pope
395d947644
Force --no-edit on squash maps
...
References https://github.com/tpope/vim-fugitive/pull/1378
2019-10-20 15:37:41 -04:00
Tim Pope
06e34204af
Fix error message on blank buffer with no Git dir
2019-10-11 17:21:16 -04:00
Tim Pope
427ac52d7d
fugitive.vim 3.1
...
* Commands are now global, not buffer local.
* Calling a command in an unnamed buffer uses the working directory.
* Preserve line number on :Gedit to return to work tree buffer.
* Better submodule support in :Gstatus.
* Support git-blame revision ignoring features.
* Show first parent diff in merge commit buffer.
* Remove deprecated support for .git/tags.
* Bug fixes.
2019-10-10 19:47:39 -04:00
Tim Pope
8c29bf1bb9
Tab complete > arguments
2019-10-10 19:45:25 -04:00
Tim Pope
ea818f1fab
Include PowerShell in check for win32 shell
...
Closes https://github.com/tpope/vim-fugitive/issues/435
2019-10-09 11:33:53 -04:00
Tim Pope
28abadcb84
Fix incorrect script id from nested function call
...
Closes https://github.com/tpope/vim-fugitive/pull/1370
2019-10-07 12:08:12 -04:00
Tim Pope
c9cf1b3cb2
Make remaining buffer commands global
2019-10-02 14:40:38 -04:00
Tim Pope
cfdfc1ba14
Clearer error message on attempt to delete directory
...
Recursive deletion is too dangerous to provide without a confirmation
prompt.
Closes https://github.com/tpope/vim-fugitive/issues/1364
2019-10-02 14:01:22 -04:00
Tim Pope
5eeb7625df
Expand status file lookup into nested structure
...
References https://github.com/tpope/vim-fugitive/pull/1337
2019-10-01 16:19:36 -04:00
Tim Pope
4f0905e963
Preserve line number on :Gedit with no or > argument
...
Closes https://github.com/tpope/vim-fugitive/pull/1326
2019-10-01 15:43:12 -04:00
Tim Pope
f72ca2e6c1
Improve ++opt +cmd handling for :Gedit/:Gread
2019-09-30 20:43:16 -04:00
Tim Pope
621ffb087a
Fix :'<,'>Gclog on some Vim versions
...
This was an attempt to get out in front of issues like
https://github.com/tpope/vim-scriptease/issues/43 , but looks like it has
problems of its own.
Closes https://github.com/tpope/vim-fugitive/issues/1358
2019-09-30 19:07:04 -04:00
Tim Pope
24b463b5b3
Support REVERT_HEAD and CHERRY_PICK_HEAD
2019-09-30 17:53:11 -04:00
Tim Pope
eedfd2a570
Don't show tags warning when editing commit message
2019-09-28 11:14:30 -04:00
Tim Pope
ab26e9fdb3
Trigger User FugitiveChanged on events that change repository
...
Note that in the context of this event, Fugitive functions will use the
changed repository, which might not be the same as the current buffer's
repository. Pass bufnr() as the optional dir argument to force the
current buffer.
Closes https://github.com/tpope/vim-fugitive/issues/458
2019-09-27 09:30:40 -04:00
Tim Pope
fee14c149c
Don't reload status on non-Fugitive ShellCmdPost
2019-09-27 09:30:40 -04:00
Tim Pope
540d8024c2
Force status reload on commands likely to change it
2019-09-27 09:30:40 -04:00
Tim Pope
6eb5d8e4b2
Fix buffer local commands
...
Closes https://github.com/tpope/vim-fugitive/issues/1353
2019-09-26 16:20:19 -04:00
Tim Pope
80ef19665a
Fix typo
2019-09-26 10:48:07 -04:00
Tim Pope
18893e8ca7
Use more conventional quickfix event type for :Ggrep
...
References https://github.com/tpope/vim-scriptease/pull/45
2019-09-26 10:46:53 -04:00
Tim Pope
1b292303c2
Encapsulate doautocmd <nomodeline>
2019-09-26 10:46:53 -04:00
Tim Pope
c1244ea7d0
Default to left, not right split for empty :Gdiffsplit filename
...
This only happens in weird circumstances such as when you call
:Gdiffsplit in a commit object.
2019-09-26 10:46:53 -04:00
Tim Pope
417b3bb818
Fix off by 2 error staging multiple files
2019-09-22 21:30:05 -04:00
Tim Pope
edd054f76f
Fix visual mode exclusion for staging on section header
2019-09-22 21:29:40 -04:00
Tim Pope
37088aaf65
Fix X on removed file
...
References https://github.com/tpope/vim-fugitive/issues/1343
2019-09-22 21:27:41 -04:00
Tim Pope
1d8c0a38b2
Show first parent diff for merge commits
...
Closes https://github.com/tpope/vim-fugitive/issues/1121
2019-09-18 21:54:22 -04:00
Tim Pope
f5a94cbc81
Reload status after Vim :terminal command
...
Closes https://github.com/tpope/vim-fugitive/issues/1323
2019-09-16 17:25:47 -04:00
Tim Pope
dc413818a6
Fire ShellCmdPost after :Gpush
...
References https://github.com/vim-airline/vim-airline/issues/1970
2019-09-16 16:32:23 -04:00
Tim Pope
35f1095f9b
Expose completion helpers for subcommands
2019-09-09 19:10:24 -04:00
Tim Pope
f5fc469c0c
Ignore blank buffers in fugitive#Statusline()
2019-09-06 17:16:19 -04:00
Tim Pope
cb66611f03
Remove blank buffer FAQ entry
2019-09-05 17:26:58 -04:00
Tim Pope
49287b6e87
Remove redundant autocommands
2019-09-05 16:42:39 -04:00
Tim Pope
ec918b9a79
Support blank buffers
...
Closes https://github.com/tpope/vim-fugitive/issues/1000
2019-09-05 15:46:27 -04:00
Tim Pope
ff0eeac045
Document disabling global maps
...
References https://github.com/tpope/vim-fugitive/issues/1331
2019-09-05 15:36:56 -04:00
Tim Pope
eb04d8bcc0
Standardize on "maps", not "mappings"
2019-09-05 15:35:42 -04:00
Tim Pope
1937bc3cd9
Experimental support for blank buffers
2019-09-04 15:22:28 -04:00
Tim Pope
d2837b103c
Add sponsor button
2019-09-04 15:22:28 -04:00
Tim Pope
10c54dfc93
Set b:git_dir for :terminal buffers
2019-09-04 15:22:28 -04:00
Tim Pope
40bc5aff18
Make universal maps global
2019-09-04 15:11:59 -04:00
Tim Pope
68da9a2be3
Make :Glog and :Ggrep global
2019-09-04 15:11:59 -04:00
Tim Pope
804957a3e6
Make :Gbrowse global
2019-09-04 15:11:59 -04:00
Tim Pope
cf88ce96c9
Make :Gmove and :Gremove global
2019-09-04 15:11:59 -04:00
Tim Pope
2464b0c29a
Make :Gcd global
2019-09-04 15:11:59 -04:00
Tim Pope
77a732c97c
Explicitly document :Git subcommands
2019-09-04 15:11:59 -04:00
Tim Pope
64d106dfdd
Remove fugitive- prefix from command help topics
2019-09-04 13:17:20 -04:00
Tim Pope
c9d4ea7900
Always use Git style path for <C-R><C-G>
2019-09-04 13:17:20 -04:00
Tim Pope
99ad1a89fa
Relocate 'path' adjustment
...
I'm not sure where we should do this (if at all), but after loading the
appropriate buffer (and thus applying the file type) is a better place
than during general activation.
2019-09-04 13:17:20 -04:00
Tim Pope
2eb6aac0c4
Adjust warning wording
2019-09-04 13:17:20 -04:00
Tim Pope
c80ffaf073
Don't override user :Gr
2019-09-04 13:17:20 -04:00
Tim Pope
63a05a6935
Remove 'tags' support
2019-09-03 21:40:39 -04:00
Tim Pope
522d3d3c1e
Make edit commands global
2019-09-03 20:21:47 -04:00
Tim Pope
b8c33aa0a1
Enable edit commands to work without git dir
2019-09-03 20:20:37 -04:00
Tim Pope
39f9e2d722
Move IO functions with rest of API
2019-09-03 20:20:37 -04:00
Tim Pope
a45e2c6d57
Provide :Gr as alias for :Gread
2019-09-02 19:58:13 -04:00
Tim Pope
5042fd965d
Tweak :Gedit > semantics
...
Treat ~ and ^ suffixes as relative to current commit, not HEAD, and use
a bare > to get to the work tree version.
2019-09-02 19:58:13 -04:00
Tim Pope
251eda7eb6
Reduce fugitive#buffer() to stub object
2019-09-01 21:48:16 -04:00
Tim Pope
c212d854d5
Accommodate git-blame revision ignoring features
...
Closes https://github.com/tpope/vim-fugitive/issues/1316
2019-09-01 12:56:58 -05:00
Tim Pope
082a9b99e7
Remove double word in docs
2019-09-01 12:56:58 -05:00
Tim Pope
c13e0e1afd
Don't browse to blob for empty buffer
2019-08-31 22:34:34 -04:00
Tim Pope
b97a9abe29
Provide global :Git and :G
2019-08-22 19:46:20 -05:00
Tim Pope
410e17129d
Use :Git not :G for visible maps
...
Let's treat :Git as canonical and :G as the shorthand.
2019-08-22 19:45:20 -05:00
Tim Pope
3a01f4b819
Remove toggling behavior of :Gblame
...
References https://github.com/tpope/vim-fugitive/issues/1316
2019-08-22 19:15:43 -05:00
Tim Pope
f04a2275db
Remove feedkeys() contortions in :Gdiffsplit
...
Closes https://github.com/tpope/vim-fugitive/issues/1313
2019-08-21 15:14:39 -05:00
Tim Pope
b714adbc51
Fix q deprecation message
2019-08-21 09:12:17 -05:00
Tim Pope
9abe962c9d
fugitive.vim 3.0
...
* Use custom format for :Gstatus, not literal git status output.
* Inline diffing in :Gstatus, with support for staging individual hunks.
* List unpushed and unpulled commits in :Gstatus.
* Show rebase status in :Gstatus.
* Greatly expanded set of mappings in :Gstatus. Try g?, c?, and r?.
* :Gstatus p (add --patch) is changed to P.
* :Gstatus U (checkout/clean) is changed to X. New U behavior is global reset.
* :Gstatus 2X/3X performs checkout --ours/--theirs.
* :Gstatus gI ignores file.
* Smarter :Gstatus automatic reload.
* :Git subcommand calls :Gsubcommand when appropriate.
* :Git add --patch and similar commands use :terminal.
* :Git diff, :Git log, and :Git --no-pager display results in temp buffer.
* :Git and subcommand wrappers use custom quoting rather than shell escaping.
* :Git ... ./path is relative to working directory.
* Add --option completion to :Git and git wrappers.
* Provide :G as wrapper for both :Gstatus and :Git.
* Support for :Grebase --interactive.
* :Gblame accepts all arguments, including filenames and commits.
* Support :Gblame --reverse to navigate forwards through history.
* Support :Gblame with range to blame subset of current file.
* Allow disabling dynamic blame colors with let g:fugitive_dynamic_colors = 0.
* :Glog opens quickfix list instead of displaying raw log output.
* Cleaner :Glog quickfix list leveraging Vim's new "module" format.
* :Glog no longer defaults to current file. Use :0Glog for that.
* :0Glog follows file across renames.
* :Glog name softly deprecated in favor of :Gclog (named after :cfile).
* Provide :Grevert.
* :Gdiff renamed to :Gdiffsplit.
* :Gdiffsplit always opens one window. Use :Gdiffsplit! for conflicts.
* Support git grep --column.
* Chdir with git -C rather than :cd for most commands. (Git 1.8.5 required)
* Show all stderr hook output on :Gcommit.
* Provide core.askPass default for Gpush and friends.
* Require bang to :Gwrite from index.
* Bug fixes.
* Polish.
2019-08-20 10:06:56 -04:00
Tim Pope
b6bbb17e3f
Expose IO functions as object
...
This is a new interface to a slightly older API for performing standard
VimL IO functions against URLs (or any other URLs, the interface is
generic). Example wrapper function:
function! IO(fn, ...) abort
let file = a:fn ==# 'writefile' ? a:2 : a:1
let obj = get(g:, 'io_' . matchstr(file, '^\a\a\+'), {})
return call(get(obj, a:fn, a:fn), a:000)
endfunction
echo IO('filereadable', @%)
2019-08-20 08:51:52 -04:00
Tim Pope
9dcf1d7d81
Document important API functions
2019-08-20 08:51:52 -04:00
Tim Pope
a510b3aadf
Deprecate :Gstatus q
2019-08-20 08:51:52 -04:00