From ea7b1ab602230ff9f167864f78a3785c52ae2bd8 Mon Sep 17 00:00:00 2001
From: Tim Pope <code@tpope.net>
Date: Mon, 9 May 2011 11:37:55 -0400
Subject: [PATCH] Support "copied:" lines in :Gstatus

---
 plugin/fugitive.vim | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/plugin/fugitive.vim b/plugin/fugitive.vim
index 0f35c853..6937dc17 100644
--- a/plugin/fugitive.vim
+++ b/plugin/fugitive.vim
@@ -574,7 +574,7 @@ function! s:StageDiff(...) abort
     return 'Git diff --cached'
   elseif filename ==# ''
     return 'Git diff'
-  elseif line =~# '^#\trenamed:' && filename =~ ' -> '
+  elseif line =~# '^#\t\%(renamed\|copied\):' && filename =~ ' -> '
     let [old, new] = split(filename,' -> ')
     execute 'Gedit '.s:fnameescape(':0:'.new)
     return cmd.' HEAD:'.s:fnameescape(old)
@@ -632,7 +632,7 @@ function! s:StageToggle(lnum1,lnum2) abort
         let cmd = ['mv','--'] + reverse(split(filename,' -> '))
         let filename = cmd[-1]
       elseif section =~? ' to be '
-        let cmd = ['reset','-q','--',filename]
+        let cmd = ['reset','-q','--',split(filename,' -> ')[-1]]
       elseif line =~# '^#\tdeleted:'
         let cmd = ['rm','--',filename]
       else
-- 
GitLab