大概浏览了下cvs的源代码,发现用c写的。
想请教下,关于版本管理工具的实现思路大致是什么样,肯定没用到数据库,呵呵。
象tag,分支等等是如何实现的,想不太清楚。
还请有了解的人指点,谢谢!
大概浏览了下cvs的源代码,发现用c写的。
想请教下,关于版本管理工具的实现思路大致是什么样,肯定没用到数据库,呵呵。
象tag,分支等等是如何实现的,想不太清楚。
还请有了解的人指点,谢谢!
[quote]版本管理工具能够用java来实现吗?[/quote]
完全可以啊,clearcase是不是用java实现的没有了解过,但是clearcase提供java接口可以在上面做二次开发。
[quote]如果被控制文件的版本信息都保存你到数据库中,这样能不能实现?
[/quote]
看你要实现什么功能吧,如果说最简单checkout,checkin,submit这些完全可以实现,例如: 你可以把文件存到数据库,每条记录就是一个revision,有一个专门字段记录这个revision,用户提交检查这个revision判断是否能提交就可以了。
[quote]和cvs或者svn比,差距在什么地方?[/quote]
这个就很重要了,如果你要开发一套版本控制系统,开发前要考虑很多东西:
1 提交的时候有冲突怎么处理
2 提交的时候是否需要上传整个文件,一个文件,你只改了一行提交,上传整个文件就过于浪费带宽
3 web客户端功能
4 tag,branch功能
等等。