Commit Graph

349 Commits

Author SHA1 Message Date
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
Tim Pope
49c6be334c Override 'shellslash' for external Windows command
With 'shellslash' set, tempname() returns a filename with forward
slashes, which trips up the type command if we don't translate to
backslashes first.

Fixes half of #212.
2012-06-07 22:05:06 -04:00
Tim Pope
1eb4a9f7e3 Fix erroneous check for //objects
This was particularly detrimental on Windows, where it caused a slow
network lookup.

Closes #210.
2012-06-04 15:16:48 -04:00
Tim Pope
6515bd43ac Support relative core.worktree
This is based on Chen Mulong's implementation in #204, but uses the same
relative path check as a8d450fcfe, for
better Windows support.
2012-05-17 21:42:06 -04:00
Tim Pope
a8d450fcfe Support submodules on 1.7.10
In 1.7.10, the git-file switched from using an absolute to a relative
path.  Treat any path starting with "." as relative.  (A more robust
check for a relative path is more complicated than looking for a leading
slash because of Windows.)

Closes #201.
2012-05-15 21:50:13 -04:00
Tim Pope
476fbd0950 Leverage #head() in #statusline() 2012-05-07 11:41:25 -04:00
Georgi Valkov
43741b550d Add fugitive#head() and fugitive#repo().head()
fugitive#head() returns the name of the current branch. If the current
HEAD is detached, fugitive#head() will return the empty string, unless
the optional 'len' argument is given, in which case the hash of the
current HEAD will be truncated to 'len' characters.

This makes should make life easier for people who don't want to use the
default provided by fugitive#statusline()
2012-05-07 11:39:33 -04:00
Daisuke Suzuki
765c921e1f Fix Windows escaping on latest 7.3 patches 2012-05-03 18:30:24 -04:00
Tim Pope
5ceabc6e6a Fix commit editing on Windows
Closes #120.
2012-05-03 18:30:13 -04:00
Tim Pope
1b6c0cbfb6 Improve cmd.exe shell escaping 2012-04-21 10:14:44 -04:00
Tim Pope
15e7672672 Enable folding in :Gstatus 2012-04-16 21:56:49 -04:00
Tim Pope
4fe6e46a0a Fix detection of netrw buffers
How long has this been broken?
2012-04-11 16:41:43 -04:00
Tim Pope
9bfb7857ec Formatting fix 2012-04-10 22:57:56 -04:00
Adam George
75a27559a3 Add an S mapping for vertical splits from :Gstatus 2012-04-08 17:16:38 -04:00
Tim Pope
dfba6a17f6 Provide custom 'foldtext'
autocmd FileType git,gitcommit setlocal foldmethod=syntax
2012-04-08 11:00:26 -04:00
guns
859f7eaa70 Fix naked function call 2012-04-07 18:25:49 -04:00
Tim Pope
b72bb7b289 Fix - in commit 2012-04-07 16:23:49 -04:00
Tim Pope
9619055cfd Map - to go up a directory 2012-04-07 16:16:41 -04:00
Tim Pope
48daf7ae72 Include leading / in buffer().rev()
Slowly pave the way for relative paths.
2012-04-07 15:42:09 -04:00
Tim Pope
b18bb05b91 Further slim down modeline 2012-04-06 10:54:00 -04:00
Richard Russon (flatcap)
96db5642a1 vim modeline confuses slow programmers
Adding 'expandtab' (et) to the modeline prevents whitespace nightmares.
2012-04-06 10:53:34 -04:00
Richard Russon (flatcap)
693d32cdd4 [BUG] wildignore breaks Gwrite
When the file you're editing matches the vim variable
wildignore Gwrite fails.
2012-04-05 23:15:08 -04:00
Tim Pope
b978d9f0be :Glgrep and :Gllog 2012-04-05 12:25:24 -04:00
Tim Pope
49e6c2b676 Clean up stray buffer().name() 2012-04-03 07:33:18 -04:00
Tim Pope
39012290b8 Fix incorrect usage of readfile() 2012-04-03 06:52:48 -04:00
Martin Grenfell
89e771ea96 make fugitive commands available in nerdtree bufs
Previously s:Detect() wasnt getting called for nerdtree buffers. I have
added two autocmd events to nerdtree - NERDTreeInit and
NERDTreeNewRoot. These are called when a tree is created, and when the
user changes the root.

Catch these events and call s:Detect() with the tree root path.
2012-04-03 04:12:13 -04:00
Tim Pope
51de95ddee I hate 'autochdir'
Closes #180.
2012-04-01 22:06:13 -04:00
Tim Pope
e8e497eb83 Open fold when jumping to commit from blame 2012-04-01 13:17:13 -04:00
Richard Russon (flatcap)
e142a27ab8 [BUG] wildignore breaks Gdiff
When the file you're editing matches the vim variable wildignore
Gdiff fails.  This line wasn't being triggered:

autocmd BufReadCmd  fugitive://**//[0-9a-f][0-9a-f]* exe s:BufReadObject()
2012-04-01 10:39:02 -04:00
Tim Pope
3c641a7ef5 Use - not <CR> for reblame
The plan is to ultimately reclaim <CR> for closing the blame, then
jumping to the commit.
2012-03-28 20:35:47 -04:00
Tim Pope
c6931a519f Fix :foldopen error 2012-03-28 20:31:40 -04:00
Tim Pope
41ea90cddf Support GitHub FI 2012-03-28 20:27:26 -04:00
Tim Pope
4f7af188fe Fix repo().translate with symlinked git-dir
Closes #178.
2012-03-27 13:43:03 -04:00
Tim Pope
24e9b492fe Fix git-dir detection on Windows
Closes #176.
2012-03-25 22:19:19 -04:00
Tim Pope
bc3ffa6b44 Guard against blank .git file
Let's see you break it now.
2012-03-20 08:16:45 -04:00
Tim Pope
8ecc9b9e11 Guard against invalid symlinks in detection
Closes #171.
2012-03-20 08:13:31 -04:00
Tim Pope
165923ebaf Kill old plugin conflict guard 2012-03-18 23:01:26 -04:00
Tim Pope
19d9875186 Refactor and expose detection helpers 2012-03-18 22:53:19 -04:00
Tim Pope
dfb10448e2 Cache configured worktree
Note that the repo object holding the cached value is short lived.
2012-03-18 22:22:28 -04:00
Tim Pope
c5cd0c96f7 Encapsulate logic for extracting tree from config 2012-03-18 22:12:25 -04:00
Tim Pope
6fc37993fe Fix inadvertent failures to use self 2012-03-18 22:08:58 -04:00
Tim Pope
23d08c0945 Don't assume COMMIT_EDITMSG is in a .git directory 2012-03-18 21:50:40 -04:00
Tim Pope
3c12ec8053 Support symlinked .git if core.worktree is set
Closes #155.
2012-03-18 20:57:36 -04:00
Tim Pope
0b1625a798 Support all git index locations 2012-03-16 22:27:45 -04:00
guns
a6982fe7f5 Support more git index locations
Matches:

    .git/index
    .git/index.lock
    .git/modules/submodule/index
    .git/modules/submodule/index.lock
2012-03-16 22:21:25 -04:00
Tim Pope
0949a2e639 Support .git-file repositories
This supports the new submodule structure and closes #139.
2012-03-14 22:02:20 -04:00
Tim Pope
85639a20fb Support bare repositories that don't end in .git
Closes #117 and supports #139.
2012-03-14 20:16:49 -04:00
Tim Pope
c67458d189 Decamelize s:ExtractGitDir
Rule of thumb: reserve camel case for imperative functions.
2012-03-14 20:04:44 -04:00
Tim Pope
5b1467af75 Preserve alternate file in :Gmove
Second time's the charm.  I've decided moving is sufficiently different
from copying to justify this.
2012-03-13 20:58:59 -04:00
Tim Pope
168de6fbc5 Don't wipe status buffer
This was to address #105, but the annoyance factor is too high to
justify keeping it.
2012-03-12 18:36:16 -04:00
Tim Pope
14735b470a Use y<C-G> to yank the current object's path
In response to #165.
2012-03-10 17:40:21 -05:00
Tim Pope
22c8ffa2ba Hack around broken :Gcommit with symlinked .git 2012-03-08 11:40:23 -05:00
Tim Pope
da2aebe3e6 Use ==# 2012-03-05 07:32:01 -05:00
Tim Pope
5bc125d1d5 Try harder not to choke on broken modeline
Partially addresses #162.
2012-03-05 07:27:35 -05:00
Tim Pope
5be0c6850e Don't abort s:ReplaceCmd on modeline error
Partially addresses #162.
2012-03-05 07:11:13 -05:00
Tim Pope
f0cb627a8e Really turn off modelines in commits and :Gstatus
Partially addresses #162.
2012-03-05 06:58:00 -05:00
Tim Pope
5225697d9c Revert "Use --work-tree to fix :cd side effects in :Gcommit"
This reverts commit 903ad4d704, which
broke :Gcommit when invoked from a subdirectory of the repository.
2012-03-03 10:08:00 -05:00
Tim Pope
903ad4d704 Use --work-tree to fix :cd side effects in :Gcommit
Closes #155
2012-03-03 03:30:27 -05:00
Tim Pope
dcd79f2adb Map cv to :Gcommit -v 2012-03-01 03:34:30 -05:00
Tim Pope
701304c164 Work around .git in 'wildignore'
Closes #119.
2012-03-01 02:47:13 -05:00
Tim Pope
03e138c349 Attempt to address more Windows slowness (#150) 2012-02-08 13:03:10 -05:00
Taylor Hedberg
64716b9622 :Gblame: Retain original alternate buffer 2012-01-24 12:07:56 -05:00
sgur
b4b75ef682 Work around slow \\ Windows network path 2011-12-09 23:06:04 -05:00
Daniel Hahler
fc0c98f5c0 Check for +cursorbind feature before using it
`+cursorbind` is not available with Vim on RHEL 6.1 for example.
2011-12-06 12:46:07 -05:00
Tim Pope
c72a689f7f Restore 'cursorbind' after diff
Closes #122.
2011-12-03 01:10:08 -05:00
Tim Pope
d95e6c61b5 Disable swapfile in :Gstatus 2011-11-27 12:56:44 -05:00
Tim Pope
1b7e4070f5 Fix bare repository support
Closes #117.
2011-10-08 16:09:00 -04:00
Tim Pope
ceb18eeceb Fix issue with symlinked tmp dir 2011-10-07 01:33:51 -04:00
Tim Pope
37295383ff Provide fugitive#repo() 2011-10-04 20:25:32 -04:00
Tim Pope
98b7334209 Close old blame windows before new blame 2011-10-04 03:13:46 -04:00
Tim Pope
a1bdea305b Fix restore from blame
Options affected by blame are now restored when the blame window is
closed while not focused.
2011-10-04 03:10:04 -04:00