Jelajahi Sumber

Fix #362 - Do not show future changes in PlugDiff

Junegunn Choi 10 tahun lalu
induk
melakukan
e929534199
2 mengubah file dengan 19 tambahan dan 1 penghapusan
  1. 1 1
      plug.vim
  2. 18 0
      test/workflow.vader

+ 1 - 1
plug.vim

@@ -1998,7 +1998,7 @@ function! s:diff()
       continue
     endif
 
-    let diff = s:system_chomp('git log --pretty=format:"%h %s (%cr)" "HEAD...HEAD@{1}"', v.dir)
+    let diff = s:system_chomp('git log --left-only --pretty=format:"%h %s (%cr)" "HEAD...HEAD@{1}"', v.dir)
     if !empty(diff)
       call append(1, '')
       call append(2, '- '.k.':')

+ 18 - 0
test/workflow.vader

@@ -352,6 +352,24 @@ Execute (Reuse Plug window in another tab):
   q
   unlet tabnr
 
+Execute (contd. PlugDiff should not show inverted history):
+  " Additional PlugUpdate to clear diff
+  PlugUpdate
+  PlugDiff
+  Log getline(1, '$')
+
+  " Checking out older revisions
+  for repo in values(g:plugs)
+    call system(printf('cd %s && git reset HEAD^ --hard', shellescape(repo.dir)))
+  endfor
+  unlet repo
+
+  " PlugDiff should not report the changes i.e. git log --left-only
+  PlugDiff
+  Log getline(1, '$')
+  AssertEqual 'No updates.', getline(1)
+  q
+
 **********************************************************************
 ~ On-demand loading / Partial installation/update ~
 **********************************************************************