diff --git a/runtime/ftplugin/git.vim b/runtime/ftplugin/git.vim
index 63d4f33..e043c75 100644
--- a/runtime/ftplugin/git.vim
+++ b/runtime/ftplugin/git.vim
@@ -1,33 +1,33 @@
 " Vim filetype plugin
 " Language:	generic git output
 " Maintainer:	Tim Pope <vimNOSPAM@tpope.org>
-" Last Change:	2009 Dec 24
+" Last Change:	2010 May 21
 
 " Only do this when not done yet for this buffer
 if (exists("b:did_ftplugin"))
-    finish
+  finish
 endif
 let b:did_ftplugin = 1
 
 if !exists('b:git_dir')
-    if expand('%:p') =~# '\.git\>'
-        let b:git_dir = matchstr(expand('%:p'),'.*\.git\>')
-    elseif $GIT_DIR != ''
-        let b:git_dir = $GIT_DIR
-    endif
-    if (has('win32') || has('win64')) && exists('b:git_dir')
-        let b:git_dir = substitute(b:git_dir,'\\','/','g')
-    endif
+  if expand('%:p') =~# '\.git\>'
+    let b:git_dir = matchstr(expand('%:p'),'.*\.git\>')
+  elseif $GIT_DIR != ''
+    let b:git_dir = $GIT_DIR
+  endif
+  if (has('win32') || has('win64')) && exists('b:git_dir')
+    let b:git_dir = substitute(b:git_dir,'\\','/','g')
+  endif
 endif
 
 if exists('*shellescape') && exists('b:git_dir') && b:git_dir != ''
-    if b:git_dir =~# '/\.git$' " Not a bare repository
-        let &l:path = escape(fnamemodify(b:git_dir,':h'),'\, ').','.&l:path
-    endif
-    let &l:path = escape(b:git_dir,'\, ').','.&l:path
-    let &l:keywordprg = 'git --git-dir='.shellescape(b:git_dir).' show'
+  if b:git_dir =~# '/\.git$' " Not a bare repository
+    let &l:path = escape(fnamemodify(b:git_dir,':h'),'\, ').','.&l:path
+  endif
+  let &l:path = escape(b:git_dir,'\, ').','.&l:path
+  let &l:keywordprg = 'git --git-dir='.shellescape(b:git_dir).' show'
 else
-    setlocal keywordprg=git\ show
+  setlocal keywordprg=git\ show
 endif
 if has('gui_running')
   let &l:keywordprg = substitute(&l:keywordprg,'^git\>','git --no-pager','')
