iteye_6401 2010-03-16 18:18
浏览 169
已采纳

请教cvs,svn之类的版本管理工具的实现思路是什么样的?

大概浏览了下cvs的源代码,发现用c写的。
想请教下,关于版本管理工具的实现思路大致是什么样,肯定没用到数据库,呵呵。
象tag,分支等等是如何实现的,想不太清楚。

还请有了解的人指点,谢谢!

  • 写回答

2条回答 默认 最新

  • iteye_13500 2010-03-17 10:02
    关注

    [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功能
    等等。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 MATLAB中streamslice问题
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端