I'm trying to use vimdiff+dirdiff.vim to diff inside Vim multiple files versionned with Git.
For Mercurial, it is possible with mercurial extdiff extension.
The only way I found on the web to integrate Vim with Git diff is to use vimdiff on a singe file, as describe in this post.
Does any one know how to use vimdiff+dirdiff+git?
git-diffall
is what I need, thanks a lot. With help of this page about git difftool and this one about running vim+dirdiff from command line, I wrote my $HOME/.gitconfig
as:
[diff]
tool = default-difftool
[difftool "default-difftool"]
cmd = vim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)' $LOCAL $REMOTE
[difftool]
prompt = false
After putting git-diffall
in my PATH
, I can diff for example working directory with branch dev
with:
git diffall dev
The --copy-back
is also what I need if I want to modify the working directory persitantly from Vim:
git diffall --copy-back dev
Since version 1.7.11, "git difftool" learned the "--dir-diff" option that simplify things and git-diffall
is no longer needed.
.gitconfig
contains:
[diff]
tool = default-difftool
[difftool "default-difftool"]
cmd = vim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)' $LOCAL $REMOTE '+syntax off'
And diffing for example working directory with branch dev
is done with:
git difftool -d dev