I have been trying to get a text diff of Word .docx files working in Sourcetree on Windows 7. I have followed the instructions here Using Microsoft Word with git to use Pandoc and can get it working from the command line. Unfortunately I can't get that diff to appear in Sourcetree. Is there something else I need to do to get this to work?
Here's my .gitattributes file that I've put in the root of my project:
# Add diff of docx files. *.docx diff=word
Here's my .git\config file:
[core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true hideDotFiles = dotGitOnly [diff "word"] textconv=pandoc --to=markdown prompt = false [alias] wdiff = diff --word-diff=color --unified=1
I was looking for the same problem. Pandoc seems not working well with SourceTree, and I was wondering for a valid alternative. Then I remebered that WinMerge solved years ago with an external tool, xdocdiff. The steps:
- (If you alredy haven't) download xdocdiff here, you can install as suggested or put in a folder you like;
- Add the folder in the Windows
PATH
variable, as described here (a reboot is required to takes effect); Verify that everything works by typing in a Command Line window the command xdoc2txt
, the output will be the usage helper (like below):
> xdoc2txt Usage: xdoc2txt [-s|-e|-j][-c][-f][-r=(0|1|2)] <filename...> -s : convert to ShiftJIS(default) -e : convert to EUC -j : convert to JIS -f : output to file -c : activate PDF cache -p : print property -n : ignore permission on PDF;(require cryptlib.dll) -r=(0|1|2) : ruby style(0:suppress 1:parentheses 2:aozora bunko -o=0 : other option; -o=0:no show PDF page# -g=# : PDF gap parameter -v : show version number -x : output existing cell only(for EXCEL2007)
go on only if this command works;
Add or edit the .gitattributes
file in the root of the project:
*.doc diff=xdoc2txt *.xls diff=xdoc2txt # ... # add any other supported extensions you need
Edit the .git\config
file in the root of the project:
[diff "xdoc2txt"] textconv = xdoc2txt cachetextconv = true binary = true prompt = false
This lines allows me to see the diff preview inside SourceTree.
It works for me with both pandoc or xdoc2txt after having set SourceTree > Tools > Options > Git > Use System Git !!