From db535978f10d68e9bc1aeb926ba27cc2e0c78122 Mon Sep 17 00:00:00 2001 From: Tim Pope Date: Thu, 15 Oct 2009 18:47:03 -0400 Subject: [PATCH] Better handling of :/pattern style revisions --- plugin/fugitive.vim | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/plugin/fugitive.vim b/plugin/fugitive.vim index 7f89d8a..77f3793 100644 --- a/plugin/fugitive.vim +++ b/plugin/fugitive.vim @@ -524,7 +524,11 @@ function! s:Edit(cmd,...) abort else let file = s:buffer().path('/') endif - let file = s:repo().translate(file) + try + let file = s:repo().translate(file) + catch /^fugitive:/ + return 'echoerr v:errmsg' + endtry if a:cmd =~# 'read!$' return '%delete|read '.s:fnameescape(file).'|1delete_|diffupdate|'.line('.') else @@ -673,6 +677,12 @@ function! s:Diff(...) abort let file = s:buffer().path('/') elseif a:1 ==# ':' let file = s:buffer().path(':0:') + elseif a:1 =~# '^:/' + try + let file = s:repo().rev_parse(a:1) + catch /^fugitive:/ + return 'echoerr v:errmsg' + endtry else let file = s:buffer().expand(a:1) endif