Diff and Merge for Microsoft Office Documents

Monday, August 06, 2012 1 Comments

We've just released new changes in Plastic SCM integration with several Microsoft Office tools: Word, Excel and PowerPoint.

You'll now be able to diff Word docs, Excel sheets and even PowerPoint presos (restricted to old versions which had support for it).

Now you'll be able to merge Microsoft Word files too... out of the box!

What the new changes are about

When several people are updating and making copies of the same files, multiple versions easily blossom out of control.

Plastic SCM can now compare proprietary file formats including Microsoft Office files.

We released integration with Office in Windows to perform diff and merge for Office documents.

As stated above, now you can use Plastic SCM (default installation) to Microsoft Word document merge.

The new release is also adding diffing capabilities for:

  1. Excel - Microsoft Excel 2003 and later
  2. Word - Microsoft Word 2003 and later
  3. Power Point - Microsoft Power Point 2003 (Microsoft dropped support for diffing after the 2003 release)

How does it look like?

Word Diff

The new diff support for Word files can be applied to the following file types: .doc and .docx files, .rtf files, .txt, and any other format supported by word.

In order to make it run, follow the following steps (don't forget to check the setup steps described below if you're not running a fresh installation):

Select the document that you want to compare (make sure it's been added to source control) and select Plastic SCM Diff Tool on the context menu (alternative just run "diff with previous").

Look at this picture: you can see the changes on the doc.

Excel Diff

We tested it with .xls and .xlsx files. The following example will show you how the Excel diff looks like:

If you want to watch a complete workflow, take a look at the complete flickr gallery. We've added a bunch of screenshots there so you can see it in action.

The following screencast shows how to run a merge of Word files with Plastic SCM.

Setting up Office diff in Plastic SCM

There are several options depending on whether you're just installing Plastic SCM from scratch or updating an existing installation.

New Plastic SCM installations

You're the lucky one. Plastic SCM comes with everything pre-configured, so just start diffing your office files.

Existing Plastic SCM setup

Since your diff and merge tools are already configured, Plastic won't overwrite any configurations to prevent altering manually introduced adjustments.

In case you didn't modify anything on the default diff/merge setup (which is very likely if you're not using any external diff tool), then you'll need to go through the following steps:

  1. Close Plastic SCM
  2. Delete client.conf. (Remember it is located on your user's directory, in my case here: C:\Users\pablo\AppData\Local\plastic4\client.conf).
  3. Launch the configuration wizard again: you can type plastic --configure

Existing Plastic SCM setups with tuned merge scripts

In case you modified your merge or diff configuration, then don't reset your client.conf but instead follow the instructions below:

Go to preferences, then 'diff and merge tools' in the Plastic SCM GUI. Then, you'll have to add new 'rules' for your files. Remember to move them up so they're the first rules on each category (otherwise the generic tools for binary files will take preference).

Word diff: add the following diff tool as external tool:

Suffix: .doc;.docx

wscript.exe "[plasticdir]client\diffscripts\diff-doc.js" "@sourcefile" "@destinationfile" //E:javascript

Excel diff: add the following diff tool as external tool:

Suffix: .xls;.xlsx

wscript.exe "[plasticdir]client\diffscripts\diff-xls.js" "@sourcefile" "@destinationfile" //E:javascript

PowerPoint diff: add the following diff tool as external tool:

Suffix: .ppt;.pptx

wscript.exe "[plasticdir]client\diffscripts\diff-ppt.js" "@sourcefile" "@destinationfile" //E:javascript

Word Merge: add the following diff tool as external tool:

Suffix: .doc;.docx

"[plasticdir]client\diffscripts\merge-doc.exe" "@destinationfile" "@sourcefile" "@output"

Note: [plasticdir] will be replaced by your own Plastic SCM path

1 comment:

  1. I posted this on the forums and no on replied.

    http://www.plasticscm.net/index.php?/topic/1315-diff-and-merge-for-microsoft-office-diff-between-specific-revisions/

    Is it only possible to do a Diff between a "previous and current version" of Office Documents?

    I'd like to do a Diff between specific REVISIONS / CHANGESETS / BRANCHES of the Office Document. Is that possible? How?

    I've tried to figure out how to do it and have failed miserably / feel very lost.

    ReplyDelete