I am building a wiki-like website, and am wondering how to implement the file versioning to create articles history. I would like to be able, when someone edits a file, to be able to display which parts were edited, and to revert back to a previous file if necessary.
EDIT: Thank you for your responses. I started to go through them, and then I realized my post was not very precise. So I may add that I am using Java as a development language (Groovy through Grails to be precise). Also, the application I am building is not only a Wiki. It does plenty of other stuff but some parts should be editable by several users. So I am looking for the best candidate for that particular job.