will133 / vim-dirdiff

Vim plugin to diff two directories
335 stars 59 forks source link

error message when using it, and no diffs found #24

Closed c02y closed 4 years ago

c02y commented 5 years ago

When I start to using vim-dirdiff like

vim -c "DirDiff ~/dir1 ~/Public/dir2"

or inside vim:

:DirDiff ~/dir1 ~/Public/dir2

vim will display the following message:

Error detected while processing function <SNR>92_DirDiff[115]..<SNR>92_DirDiffNext[2]..<SNR>92_GotoDiffWindow:
line    1:
E479: No match
Error detected while processing function <SNR>92_DirDiff[115]..<SNR>92_DirDiffNext[10]..<SNR>92_DirDiffOpen[2]..<SNR>92_GotoDiffWindow:
line    1:
E479: No match
Error detected while processing function <SNR>92_DirDiff[115]..<SNR>92_DirDiffNext[10]..<SNR>92_DirDiffOpen[14]..<SNR>92_GotoDiffWindow:
line    1:
E479: No match
Press ENTER or type command to continue

And the diff buffer is:

  [A]=/home/user/dir1
  [B]=/home/user/Public/dir2
  Usage:   <Enter>/'o'=open,'s'=sync,'q'=quit
  Options: 'u'=update,'x'=set excludes,'i'=set ignore,'a'=set args
  Diff Args: -r --brief

  ==>

and the status line shows: There is no diff at the current line! That's it.

But the dir1 and dir2 are different, there are several files that are different when I open them in meld.

Tested under Vim v8.1 and nvim v0.4.0-1504-g87140f234(nightly version), got the same results.


UPDATE: Weird thing is, if I use https://github.com/vim-scripts/DirDiff.vim which is much older version of this repo, it works very well except, the CVS in let g:DirDiffExcludes = "CVS,*.class,*.o,*.bak," doesn't work, I have to use

    let g:DirDiffExcludes = "CVS,*.class,*.o,*.bak,*.git"
yaute74 commented 5 years ago

Same problem for me.

will133 commented 4 years ago

Please try the latest master again. There's a known problem with the drop command in vim that can caused to to happen. I've worked around it.