git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] be more robust wrt the git-dir.

From
Pierre Habouzit <madcoder@debian.org>
Date
Oct 18, 2006, 00:47 UTC
Message-ID
<1161132446703-git-send-email-madcoder@debian.org>
In-Reply-To
<11611324463754-git-send-email-madcoder@debian.org>
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
---
 contrib/vim/ftplugin/gitcommit.vim |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/contrib/vim/ftplugin/gitcommit.vim b/contrib/vim/ftplugin/gitcommit.vim
index a9cb946..e958fb1 100644
--- a/contrib/vim/ftplugin/gitcommit.vim
+++ b/contrib/vim/ftplugin/gitcommit.vim
@@ -52,9 +52,17 @@ function! Git_diff_windows(vertsplit, au
         rightbelow new
     endif
     silent! setlocal ft=diff previewwindow bufhidden=delete nobackup noswf nobuflisted nowrap buftype=nofile
-    exe 'normal :r!LANG=C cd ..; git diff HEAD -- ' . list_of_files . "\n1Gdd"
-    exe 'normal :r!LANG=C cd ..; git diff HEAD -- ' . list_of_files . " \| git apply --stat\no\<esc>1GddO\<esc>"
+    let gitDir = system('git rev-parse --git-dir 2>/dev/null')
+    let gitDir = substitute(gitDir, '.git\n', '', '')
+    let wd = getcwd()
+    if gitDir != ''
+        exe 'cd '.gitDir
+    endif
+    exe 'normal :r!LANG=C git diff HEAD -- ' . list_of_files . "\n1Gdd"
+    exe 'normal :r!LANG=C git diff HEAD -- ' . list_of_files . " \| git apply --stat\no\<esc>1GddO\<esc>"
+    exe 'cd '.wd
     setlocal nomodifiable
+    noremap <buffer> q :bw<cr>
     if a:auto
         redraw!
         wincmd p
-- 
1.4.2.3
Previous: Pierre HabouzitNext: Jeff King
Message 17 of 23 in “be more vim-ish, and also syntax hilight Signed-off-by lines.”
  1. be more vim-ish, and also syntax hilight Signed-off-by lines.Pierre Habouzit, Oct 17, 2006
  2. nice ftplugin for vim, that shows the commited diff in a split'ed buffer.Pierre Habouzit, Oct 17, 2006
  3. Peter BaumannOct 17, 2006
  4. Pierre HabouzitOct 17, 2006
  5. Peter BaumannOct 17, 2006
  6. Pierre HabouzitOct 17, 2006
  7. Christian MICHONOct 17, 2006
  8. Junio C HamanoOct 17, 2006
  9. Petr BaudisOct 18, 2006
  10. Junio C HamanoOct 17, 2006
  11. contrib/vim patches, replace the previous setPierre Habouzit, Oct 18, 2006
  12. contrib/vim patches, replace the previous setPierre Habouzit, Oct 18, 2006
  13. be more vim-ish, and also syntax hilight Signed-off-by lines.Pierre Habouzit, Oct 18, 2006
  14. Nice ftplugin for vim, that shows the commited diff in a split'ed buffer.Pierre Habouzit, Oct 18, 2006
  15. Pierre HabouzitOct 18, 2006
  16. Make the ftplugin right wrt gitdirPierre Habouzit, Oct 18, 2006
  17. be more robust wrt the git-dir.Pierre Habouzit, Oct 18, 2006
  18. Jeff KingOct 18, 2006
  19. Pierre HabouzitOct 18, 2006
  20. Jeff KingOct 18, 2006
  21. Pierre HabouzitOct 18, 2006
  22. Jeff KingOct 18, 2006
  23. Jeff KingOct 18, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.