编程实现版本控制器的功能

做一个BS项目,其中有个功能.为用户提供版本控制的功能,相当于一个简化的cvs或者svn,提供文件对比功能。用户可以对项目中的一些配置文件的变更作比较,清楚的看到本次修改的配置文件与上一次的变动。
我的问题是:
(1)是否有类似功能的开源代码,如果有欢迎提供网址
(2)是否有版本控制软件提供接口,可以让我们可以将其嵌入到我们的项目中.
求大神指点!!!

保存文件副本,用linux diff比较即可