SVN简介

在进行软件项目的开发过程中存在有版本控制工具,那么这类工具解决的问题是:多人开发的代码的冲突问题的解决方案。

  任何一个项目最起码的基础分类:    • 后台业务层开发人员,这类人员不涉及到前台界面显示,只提供足够多的操作方法;

    • 前台开发人员,负责进行页面显示(好的前台开发,不受开发语言的限制);

    • 控制层的开发人员,负责进行前台与后台的连接。

  那么这三类人员并不一定只有三个人开发,可能有若干个人一起开发后台业务,或者有两个人开发控制层的代码(有可能是业务人员兼顾),这个时候就需要多个人向同一台服务器上进行代码的提交。

  最简单的多人开发模式就是干脆建立一个公共的文件夹,这个文件夹可以在网络上共享,而后每个人通过网络连接到服务器上,直接修改代码。但是这种方式有可能出现一种问题:如果多个人修改了同一个文件呢?那么就会发生新保存的文件覆盖掉已有的文件,这个文件所做的修改内容就会无端丢失。

  所以针对这样的问题,最早在linux(Linus)下给出了一个解决方案,利用CVS进行版本控制。这个工具可以解决多人开发之中产生的冲突问题。但是CVS这个软件的版本控制由于自身存在缺陷 — 提交代码不完整,丢失提交文件,所以CVS之后又产生了SVN版本控制器,SVN解决的是CVS的所有缺陷。这几年的发展,在许多的软件项目里面都会利用SVN进行程序的版本控制。

  但是后来随着发展,SVN出现一个很头疼的问题,就是基于SVN扩展出来的版本工具是越来越多。就造成了开发之中配置环境不好用。那么后来的发展就变为GIT天下(以后的发展,现在已经流行)。不管是CVS还是SVN都有一个自己天生的最大缺陷 — 必须有网络连接。

?