Commit Graph

419 Commits

Author SHA1 Message Date
Tim Pope
416165f063 Check correct window for 'diff' on BufWinLeave
Closes #493.
2014-05-30 14:26:40 -04:00
Daniel Harding
f8bf95b9ff Fix Gblame problems on Windows
On Windows, if Vim is invoked with a working directory starting with a
lowercase drive letter (e.g. c:\<path> instead of C:\<path>), some
mappings in the blame buffer do not work correctly.  For example,
hitting Enter on a line throws an exception rather than showing the
associated commit.  The reason for this is that the b:git_dir variable
is not being set on the blame buffer.  The reason in turn for this is
that the path to the blame buffer is being stored in s:temp_files with
an uppercase drive letter, but in the fugitive_temp augroup, '<afile>:p'
is being expanded with a lowercase drive letter, so the lookup in
s:temp_files fails.  Fix this by converting paths to lowercase before
using them as keys for the s:tempfile dictionary.  Because of the way
Vim generates temporary file names, this is safe even on platforms with
case-sensitive file systems.
2014-05-12 13:59:35 -04:00
Tim Pope
c99f0ff06b Restore ridiculous hack to set cursor position on :Gdiff
This time with :setlocal.

Closes #471.  References #475.
2014-04-14 13:34:37 -04:00
Tim Pope
07c58226df Revert "Ridiculous hack to set cursor position on :Gdiff"
This reverts commit c8070aec7e.

Closes #471.
2014-04-13 18:11:25 -04:00
Tim Pope
4f80883e05 Limit scope of ctrlp.vim :Gstatus hack 2014-04-10 14:53:49 -04:00
Tim Pope
bf14c9c8a3 Drop support for CtrlP in history
This is fairly straightforward to do outside of fugitive.vim, and
there's no reason to give it privileged treatment here.

Closes #403.
2014-04-10 14:52:47 -04:00
Tim Pope
e7c7149434 Map both g? and <F1> to show help
Closes #273.
2014-04-07 05:00:41 -04:00
Tim Pope
c8070aec7e Ridiculous hack to set cursor position on :Gdiff
References #429.
2014-04-07 03:52:31 -04:00
Tim Pope
21b60b309d Support implicit github username in remote
Closes #466.
2014-04-02 18:09:33 -04:00
Tim Pope
9649b02076 Fix modeline errors in historical buffers
Our doautocmd in s:ReplaceCmd already processes the modelines while the
buffer is still modifiable, so we can disable it after tha prevent
subsequent invocations.

Closes #323.
2014-04-02 02:32:20 -04:00
Tim Pope
cbab574164 Make commands available in command line window
Closes #325.
2014-04-02 02:14:32 -04:00
Tim Pope
72d382077c Revert "Work around issue using buffer number rather than name"
This reverts commit d6540b2588, which
caused all sorts of breakages with buffer names with brackets in them.
This was greatly exacerbated by airline.vim setting an erroneous
b:git_dir in plugin buffers based on the current working directory.

Closes #464. Closes #463. Closes #461.
2014-04-01 19:02:15 -04:00
Tim Pope
17393f552e Don't blow up on type checking empty buffers
Closes #462.
2014-03-31 19:14:57 -04:00
Craig Main
51cdb1b190 Cater for powershell as well as cmd for windows users 2014-03-31 02:33:44 -04:00
Tim Pope
c1664de7b4 Don't blow up on vanishing HEAD
Closes #459.
2014-03-30 13:14:00 -04:00
Tim Pope
d6540b2588 Work around issue using buffer number rather than name
Observed on the OS X Mavericks install of Vim 7.3.
2014-03-27 18:01:06 -04:00
Tim Pope
22cc877e64 Add missing aborts 2014-03-27 17:22:35 -04:00
Tim Pope
218fc37ce1 Revert "Work around more 'wildignore' silliness"
This reverts commit 3bfa0a2725.

Closes #457.
2014-03-27 17:21:29 -04:00
Tim Pope
3bfa0a2725 Work around more 'wildignore' silliness 2014-03-26 14:25:44 -04:00
Tim Pope
fd297ad11f Set winfixwidth
Closes #453.
2014-03-25 13:37:57 -04:00
Tim Pope
a069fa7066 Accidental omission from previous commit 2014-03-25 13:37:19 -04:00
Tim Pope
d6f17608dd Support :Gcommit --patch
Closes #452.
2014-03-20 13:21:19 -04:00
Tim Pope
70ec927890 Improve keepjumps situation 2014-03-19 23:36:20 -04:00
Tim Pope
b27937d5e4 Turn off swap files in all URL buffers
References #202.
2014-03-19 00:53:05 -04:00
Daniel Hahler
152c9195ae Check &diff first in fugitive_diff autocmds
This avoids calling `s:diff_window_count` in the common (non-diff) case.
2014-03-13 15:48:20 -04:00
Tim Pope
7c40a18bfd Fix version regex 2014-03-13 15:48:20 -04:00
Tim Pope
f395f3cbea Improve heuristics for status section detection
Closes #440.
2014-03-05 18:01:38 -05:00
Emily Strickland
0cb30541ec Look for $GIT_DIR and $GIT_WORK_TREE
There are rare situations where a user has manually specified what they
wish to use as their work-tree directory, and even rarer situations
where the user wishes the Git directory to be customized. In the case
the user has set these using environment variables, vim-fugitive takes
advantage of these settings in order to set up.

Note that git-config(1) allows setting the work-tree and Git dir in
a number of ways (see the core.worktree) setting. This change only
respects the environment variable method, not the config file method.
2014-03-05 15:01:47 -05:00
Quinn Strahl
190fe2a4cf Store more than just dir in s:temp_files
- Also store 'args', the git arguments used to generate the temp file
2014-03-05 14:17:47 -05:00
Jason A. Ribeiro
8f0b8edfbd Respect GIT_CEILING_DIRECTORIES 2014-01-21 19:35:31 -05:00
Tim Pope
546a6bf219 Focus diff window on :Gdiff
References #36.
2013-12-30 10:45:54 -05:00
Tim Pope
1b0ddad697 Reopen diff folds when diff ends
References #36.
2013-12-30 10:39:08 -05:00
Quinn Strahl
07c078c1be Add & modify autocmd events FugitiveBoot & Fugitive
- Change old `Fugitive` to `FugitiveBoot`

- Put `Fugitive` at the end of fugitive#detect
2013-12-22 10:05:08 -05:00
Lech Lorens
6b338bdbcf Fix slowness when searching for networked git repos under Cygwin.
The algorithm in fugitive#extract_git_dir() is to move upwards in the
file system hierarchy until a sub-directory called .git is found. When
accessing a file on a network share from a Cygwin Vim and the file is not
within a git repo, this eventually causes a check for the existence of
//serverName/.git and //.git. Such checks are extremely slow so let's
avoid them.
2013-12-17 09:09:32 -05:00
Tim Pope
34e2d2538a Work around new status style in 1.8.5
Closes #393.
2013-10-24 00:16:15 -04:00
Tim Pope
dc250fcc8d Add ability to query current Git version 2013-10-24 00:15:40 -04:00
Tom McDonald
050b22e531 Fix unmatched parens in :Gmove 2013-10-22 13:21:15 -04:00
Mikkel Høgh
ea18a6a89b Don't set global foldlevel
Without this change, Fugitive will routinely overwrite the global foldlevel. It shouldn't.
2013-10-21 18:10:28 -04:00
Tim Pope
61fac2f738 Fix write to index with msysgit bash
Closes #388.
2013-10-09 14:13:45 -04:00
Tim Brooks
124550cfee Change if block to correct ending 2013-07-22 01:18:16 -04:00
Mark A. Hillebrand
00b0916ae2 Fix :Gmove command on Windows 2013-06-23 13:24:04 -04:00
Tim Pope
f096152a48 Support angle quotes in git status
Closes #228.
2013-06-05 21:35:15 -04:00
Tim Pope
3b5f715262 Fix :Gstatus dp with external diff enabled
Closes #341.
2013-05-17 23:58:10 -04:00
Tim Pope
5c18b1a044 Press - on first line of :Gstatus to edit .git
This is a bit silly, but provides a quick way to start navigating the
repository.  Press it a second time and you're in the work tree root.
2013-03-29 22:58:23 -04:00
Tim Pope
4c7e649efb Encapsulate restore options for diff
This should make it easier to experiment with solutions for issues such
as #257.
2013-04-19 15:53:02 -04:00
Tim Pope
618d884562 Revert "Add foldenable to fugitive_diff_restore"
This reverts commit cbb7c3e890.
2013-04-19 15:10:51 -04:00
Will Gray
cbb7c3e890 Add foldenable to fugitive_diff_restore 2013-04-19 15:02:40 -04:00
Tim Pope
d4c615c427 Loosen regex to compensate for iskeyword
Closes #332.
2013-04-18 15:19:17 -04:00
Tim Pope
f6d93b8788 Don't dispatch autocommands when calling git commit
Closes #295.
2013-03-12 02:32:13 -04:00
Tim Pope
09cbdded83 Add . to prepopulate command line with revision 2013-03-12 02:26:09 -04:00
Tim Pope
06fafb1324 Change cp to cP
This has the incredibly self-serving purpose of paving the way for
evaluating Clojure in historical buffers.
2013-03-12 02:25:12 -04:00
Tim Pope
a917e998c7 Include tree filename in <C-R><C-G> 2013-03-12 02:15:40 -04:00
Tim Pope
2ae214a156 Seek to blob name in tree with - 2013-03-12 02:01:49 -04:00
Tim Pope
0103538d7a Expose detect interface
Closes #311.
2013-02-23 12:24:24 -05:00
Alejandro Exojo
a27b899a36 Add foldlevel to fugitive_diff_restore 2013-02-15 10:31:54 +01:00
Tim Pope
6462bdb4b9 Work around archaic encodings
Closes #304.
2013-02-10 13:01:22 -05:00
Tim Pope
1da788a1b0 Unify escaping rules for :Gedit with :edit
In particular, this makes `:Gedit file\ with\ spaces` work, and updates
the tab complete to match.

Closes #305.
2013-02-10 12:57:37 -05:00
Tim Pope
bbf9e51eb2 Fix :Git! on Windows.
Closes #301, #302.
2013-02-08 19:35:29 -05:00
Tim Pope
cf3fe781dd Switch :Gblame <CR> to open commit
This is more useful than the previous behavior of reblaming at that
commit.  Said behavior is still available on -.
2013-01-30 16:00:41 -05:00
Tim Pope
1bce4328e4 Fix setting of foldmethod in :Gstatus
Closes #300.
2013-01-30 13:13:28 -05:00
Tim Pope
1601ffc1e0 Don't clobber foldmethod in :Gedit :
Being a window local option, this can be pretty annoying.
2013-01-13 16:01:17 -05:00
Tim Pope
b9525df190 Support WIDE COLON in :Gstatus in some locales
Closes #228.
2013-01-09 23:15:42 -05:00
Tim Pope
582eb0d3c9 Fix supposed "Press ENTER" prompt
Closes #189, #190.
2012-12-31 22:32:53 -05:00
Tim Pope
d1406ae23a Revert "s:Detect: only add readable files to &tags and doc"
This reverts commit 31dead6d80.
Generating the tags file after already loading the buffer burns me over
and over and over again, and I'm not convinced there was a problem to
begin with.
2012-12-16 20:23:12 -05:00
Tim Pope
d63a475fcb Fix duplicate Signed-off-by lines
Closes #284.
2012-12-12 22:40:04 -05:00
Tim Pope
2723a1116f Return '' from buffer.path() if outside work tree
In reference to #278.
2012-12-08 16:53:55 -05:00
Tim Pope
6f380fa8c6 Fix error when g:fugitive_github_domains is unset
Closes #274.
2012-11-20 17:57:37 -05:00
Tim Pope
f64ba46509 Allow :Gbrowse on HTTP GitHub FI
Closes #272.
2012-11-18 22:43:04 -05:00
Tim Pope
003f38c6a4 Escape # in :Glog
Closes #265.
2012-11-04 19:32:13 -05:00
Tim Pope
3f703b6e03 Replace :Gstatus cv with cva and cvc
My rebuttal to #263.
2012-10-22 17:02:30 -04:00
Tim Pope
9afeebf32e Provide failsafe for foldtext filename
Closes #216.
2012-10-21 23:21:12 -04:00
Tim Pope
09743e76a0 Correct foldtext when diff.mnemonic is set 2012-10-21 22:54:59 -04:00
Tim Pope
05763df0ed Fix :Gbrowse when argument starts with a digit 2012-10-16 00:18:41 -04:00
Tim Pope
f43393dd9a Conceal file names and line numbers in :Gblame 2012-10-09 18:36:54 -04:00
Tim Pope
daccfb508f Update :Gblame supported options 2012-10-09 18:36:54 -04:00
Tim Pope
cdb7bd9841 Don't show diff in keywordprg output in GUI
It's not very readable without syntax highlighting or pagination, so
leave it off.
2012-10-09 18:36:54 -04:00
Tim Pope
554909ed4b Allow a count to blame resizers
Pass a count to A or C to add that many additional columns, or to D to
remove that many additional columns.
2012-10-09 16:04:41 -04:00
Tim Pope
3463b780df Fix A in :Gblame with unix timestamp 2012-10-09 15:25:40 -04:00
Daniel Hahler
31dead6d80 s:Detect: only add readable files to &tags and doc
Fixes issue #104.
2012-10-02 10:09:53 -04:00
Trent Ogren
cff78c3ab4 Pick sane git_dir for :Gedit from :Gstatus window
When using a :Gedit command from the :Gstatus window the git_dir was
being based on the window that was switched into in order to edit the
file. So if Fugitive switched into a window with a file from a different
Git repo (or a file with no Git repo) the :Gedit command could fail or
edit the wrong file.

Instead base the git_dir on the window from which the :Gedit command
originated.
2012-09-21 12:39:35 -04:00
Tim Pope
41383131b8 Support ctrlp.vim in historical buffers 2012-09-08 11:41:32 -04:00
Tim Pope
615f6608f1 Allow <C-p> pass through to ctrlp.vim in :Gstatus
This only works on the first line.  Any more than that, and we'll have
to give up on the whole <C-p> map entirely (which is not off the table).
2012-09-07 01:15:48 -04:00
Tim Pope
8d019de97c Accept a count with :Gstatus <C-N>/<C-P> 2012-09-07 01:14:13 -04:00
Taylor Hedberg
b5725c1eec Return to correct window when closing Gblame window
Vim does not guarantee persistent window numbers. Instead, windows are
numbered according to their position on the screen, with the topmost,
leftmost window always having number 1, and the bottommost, rightmost
window always having a number equal to the total number of windows
currently visible. Crucially, this means that, when a window is closed,
windows which come "after" it in the positional order will be
renumbered.

When fugitive's Gblame window is closed, e.g. by pressing `q`, it
attempts to return focus to the window of the blamed buffer. Previously,
the number of the window to return to was computed before closing the
Gblame window, then the Gblame window was closed, then the blamed
buffer's window was focused. However, since windows were often
renumbered as soon as the Gblame window was closed, this would
frequently cause focus to jump to the window *after* the blamed buffer's
window, rather than the intended behavior.

This corrects the issue by jumping to the proper return window prior to
deleting the Gblame buffer, ensuring that the computed window number is
in fact correct at the moment when the focus change occurs.
2012-08-29 13:38:33 -04:00
Tim Pope
381b275bc9 Fix <C-W><C-O> in diff below :Gstatus
I'll admit I can't remember the original purpose of this code.

Closes #66.
2012-08-28 13:25:13 -04:00
Tim Pope
f5b50f822b Fix :Gblame width with custom date format
Partially addresses #242.
2012-08-21 20:47:19 -04:00
Tim Pope
a0c71a6d4c Fix :Gstatus dd on unmerged path
Closes #240.
2012-08-15 11:22:40 -04:00
Tim Pope
0abe1fb122 Support advice.statusHints = false
Closes #230.
2012-08-01 16:00:15 -04:00
Tim Pope
a90cc48c7a Fix creation of files named index
Closes #231.
2012-08-01 10:35:52 -04:00
Tim Pope
b0c74e2289 Support localized git status
Closes #228.
2012-07-28 11:54:52 -04:00
Tim Pope
745ccf5066 Centralize filename extraction in :Gstatus
This encapsulates some of the logic that will need to be updated to
solve #228.
2012-07-16 18:10:27 -04:00
Tim Pope
d1971558b5 Fix - on :Gstatus headers 2012-07-16 17:42:00 -04:00
Tim Pope
8ba04c2476 Encapsulate :Gstatus section determination logic 2012-07-16 11:16:35 -04:00
Tim Pope
ca6d4ca4d1 Don't activate maps without b:git_dir
Closes #227.
2012-07-15 13:33:36 -04:00
Tim Pope
585ca691a3 Revert "Follow symlinks"
This reverts commit 57af9b98cf, which was
pushed by accident.
2012-07-15 13:03:09 -04:00
Tim Pope
5298448e88 Fix :Glog on Windows
Closes #199.
2012-07-11 07:26:42 -04:00
Tim Pope
9ebff45853 Re-enable editing files named index
This is a crude hack.  Watch for edge cases.

Closes #205.
2012-07-08 01:11:12 -04:00
Tim Pope
8fd12ef14f Show diff from :Gstatus interally
When pressing enter on a header in :Gstatus, use :Git! rather than :Git
to show the diff.

Closes #208.
2012-07-08 01:06:33 -04:00
Nicolas Viennot and Sid Nair
57af9b98cf Follow symlinks
Previously, symlinks were not resolved. Thus, symlinks outside a git
directory would have no git dir even if they linked to a file in a git
directory.
2012-07-07 17:30:25 -04:00
Tim Pope
3b278277e0 Add maps for resizing blame window 2012-06-22 19:44:32 -04:00