问题
How does Stack Overflow show the revision changes in the diff-like format they use?
I don't care about Stack Overflow per se; it's just a convenient way to describe my requirement. I have an audit history of changes to a text field. I'd like to show the changes the same way Stack Overflow shows revision history changes. I recall a Stack Overflow podcast where Jeff Atwood discussed it, but I can't find it in the transcripts and have no idea what podcast. IIRC, it's not .NET based, maybe Python?
This is for end-user consumption so anything that looks like a Unix-like diff is out. It is tempting to show two blocks and text, old and new and let them figure it out, but the Stack Overflow revision history is sooo much nicer.
回答1:
Since you didn't really specify a language: I've done this using the PHP PEAR package Text_Diff.
回答2:
The Python difflib standard library provides this sort of capability:
This module provides classes and functions for comparing sequences. It can be used for example, for comparing files, and can produce difference information in various formats, including HTML and context and unified diffs. For comparing directories and files, see also, the
filecmp
module.
回答3:
They used Beyond Compare. As far as I can tell, it's not a native .NET program, but you can use it as a command-line tool.
来源:https://stackoverflow.com/questions/923398/how-to-show-revision-history-like-revisions