Who we are

We are the developers of Plastic SCM, a full version control stack (not a Git variant). We work on the strongest branching and merging you can find, and a core that doesn't cringe with huge binaries and repos. We also develop the GUIs, mergetools and everything needed to give you the full version control stack.

If you want to give it a try, download it from here.

We also code SemanticMerge, and the gmaster Git client.

"Move" support in xdiff

Thursday, July 22, 2010 Pablo Santos , 7 Comments

One of the big things we just released in 3.0 is the new Xdiff. We call it "cross diff" because it can locate code that has been moved, and we used to draw it on paper with "crossing lines".

Ok, what is all of this about and why is it so good? Let's go.

Let's start with a piece of code like the following:

Then we move a piece of code a little bit down:

And we slightly modify the moved code as you can see here:

Let's see what Plastic Xdiff can do:

It is able to identify the code as "moved" even when it has been modified. And you can click on the "subdiff" to actually run an independent diff on the moved fragment as you can see below.

Cool, isn't it?

We can do this with any programming language since the algorithm is not based on parsing but in plain text move detection.

Check the following screencast to see it in action.

Don't forget to check the next step too: Xmerge!

Pablo Santos
I'm the CTO and Founder at Códice.
I've been leading Plastic SCM since 2005. My passion is helping teams work better through version control.
I had the opportunity to see teams from many different industries at work while I helped them improving their version control practices.
I really enjoy teaching (I've been a University professor for 6+ years) and sharing my experience in talks and articles.
And I love simple code. You can reach me at @psluaces.


  1. That is a truly awesome feature.

    Has Codice given any thought to licensing xdiff independently of PlasticSCM?

  2. Thanks Jeff!! You know we're always pushing hard to bring the best features to plastic! :)

    We didn't consider licensing xdiff independently but it is definitely something to consider!



  3. This comment has been removed by the author.

  4. That is truly awesome. I'm upgrading!

  5. Perforce offers their merge tool as a free download, no doubt in part as a marketing tool.

  6. There's an interesting follow up with more merge cases here: http://www.scootersoftware.com/vbulletin/showthread.php?p=24868&posted=1#post24868