Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 158 Stack Exchange communities.

What is meta?
Here's how it works:
  1. Any Stack Exchange user can ask a question
  2. The community provides support, votes on ideas, and reports bugs
  3. Your voice helps shape the way Stack Exchange operates

Any insights into how revisions are tracked/displayed on StackOverflow? I'm curious to know if this was hand-rolled or built using other technologies out there.

I think I understand how WMD (and it's modified form) is used but I'm not sure how (if?) it helps display the revision history page - is there some other wiki implementation behind the scenes to help show revisions and diff-markup on the revisions page?

share|improve this question

migrated from Jul 16 '09 at 8:16

This question came from our site for professional and enthusiast programmers.

As far as I can tell from podcasts, the database just has the full text of every revision (in markdown format), and the revision history page then builds the diff when it has to.

That's frankly the easiest way of doing it - in particular it means your diff algorithm can become smarter over time and still work with all the old text.

This does have storage implications, admittedly...

But no, I don't believe SO is built on another wiki system.

share|improve this answer
I wonder how this works with concurrent updates - last writer wins, I presume. I guess that's simplest if the entire text blob is persisted for each revision. – psychotik Jul 16 '09 at 18:06
It's definitely last writer wins: a few times I've conflicted with people, then we've gone back and sorted things out. – Jon Skeet Jul 16 '09 at 18:10

You must log in to answer this question.