X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=.vim%2Fscript%2Fsvn;h=175f4fbab3ae096cda04b88e626a8b57eb91a020;hb=76559e10296433ab488b9d9940c50a39282ee49a;hp=194b48716b3ecb51c80f6d69b3a55e5a640956b1;hpb=bc811c4ff356d27ed2d16eac2c8c16afd034510e;p=profile.git diff --git a/.vim/script/svn b/.vim/script/svn index 194b487..175f4fb 100644 --- a/.vim/script/svn +++ b/.vim/script/svn @@ -1,12 +1,15 @@ -" $Id$ vim: se syntax=vim: " Define the function we'll use. It's easier to do this than to faff about " trying to run a sequence of normal mode commands. fun! SVNcommit() " Allow closing an unmodified spec. set nomod - " Get the modified files. - let l:files = system("sed '1,/^$/d;s/^[MR]....//' " . bufname("")) + " Get the modified files. Discount new files. + let l:files = system("sed -n '1,/^$/d;s/^[MR]....//p' " . bufname("")) + + if l:files == "" + return + endif " Create a new window, move it below the spec and read in a diff. botright new @@ -30,6 +33,9 @@ endfun let s:cmdheight = &cmdheight se cmdheight=3 +" Change directory so "file [svn diff]" doesn't try to cd somewhere. +cd / + " Call and then discard our function. call SVNcommit() delfunction SVNcommit