SVN笔记

来源:互联网 发布:淘宝店铺更换旺旺 编辑:程序博客网 时间:2024/05/16 07:03

SCM

SCM:软件配置管理(Software Configuration Management (SCM) 

 

 

cvs + bugzilla

 

svn

 

scm是一门用来记录并控制软件产品数据的管理工具。

 

cmm(软件成熟度认证)

SVN笔记

 

版本控制中的几个概念:
Repository(
仓库)

workspace(工作台)

delta()

baseline(基线)(HEAD

branch(分支)

label(标签)(tag

 

SVN笔记

 

workspace:比如说有两个模块各有两个版本,把其中的一个版本拿下来,构建成一个项目,做完更改之后在放回去。

workspace有一个隔离性:如果另外有人也想拿出来,这时候就会拿到两个模块的另外一个版本,这样两个互相工作中是不会出问题的。

 

delta version(版本) delta指的两个版本中不一样的地方,对一个文件不同版本的管理,delta会保存不一样的地方,起到有效节省空间的作用 就是delta存储的是变化的那一部分。

 

除了文件有版本之外,整个项目也是有版本,就是struts1 struts2一样。

 

SVN笔记

forward delta backward delta区别:

一是先都存1.0首先的版本,向后加delta   二是存储的是最后的版本,向前加delta  一般情况下是使用第二种

 

branch(分支)

1.1处出现bug 然后有人专门为了解决这个bug而分支,然后再在后面进行会合

SVN笔记

 

其实在项目中的分支应用的更多,就好像不同的地区要用不同的版本,主分区中分出机构版本

 

SCM中最主要的功能是 版本控制 version control)等: SVN笔记

 

实际项目中的自动化构建   eclipse不能实现自动化,因为要build

在项目比较大的时候,比说说有cc++ java不可能在一个ide中实现自动化,所以就要需要一些脚本程序,构建脚本能实现这种功能。自动化编译完成,自动化的测试,自动化的生成报告,在java里面ant是一种基于命令行的构建脚本的工具,maven也是

 

如果两个版本有所不同,可以把两个合并在一起,merge

 

客户端:tortirseSVN

服务器:subversion

 

过程:

svn  svnadmin  svnadmin help     svnadmin create svnrepo

 

管理权限:D:\workspace\svnrepo\conf\svnserve.conf

# password-db = passwd  如果注释掉这句就要输密码 passwd这个配置文件里面查

可以在passwd中加上u1=p1  我的是jimmy=jimmy

 

启动服务器:svnserve –d –r svnrepo   

这里的d指的是后台运行 rroot运行 就是超级管理员运行

 

cmd窗口不能关,窗口关了,服务也就关了

SVN笔记

 

 

  1. 下载并安装tigris svn server 1.6.5
  2. 创建中心库
    1. svnadmin create d:\share\svnrepo
  3. 修改权限配置
    1. 修改conf/svnserve.conf
    2. 修改passwd

服务器运行方式

         svnserve

         apache http

SVN笔记

 

 

使用客户端 

直接打开会提示 is a shell extension…  其实他的客户端是在右键那里 

 

可以查看struts等的最新的源码,repo-browser  输入在网上查到的struts svn的地址就可以查看了!!

SVN笔记

 

一般的开源项目都是按照里面的目录来创建的

 

如果要把库里面的内容下载下来就是checkout  下载  如果是上传的话就是checkin

 

 

checkout现在一个项目 会出现.svn   然后新建一个目录project add上去

这时候就会有更多的选项了,,这时候还会有commit选项

然后就是要写提交的原因了。。。

commit

然后输入密码jimmy jimmy就可以提交上去了

SVN笔记

 

如果这时候还有另外一个用户,想拿到源码,可以checkout

SVN笔记

如果是根目录的话就会把所有的东西都下载下来

 

如果没有启动server的话,eclipse是会报错的

 

对于tesmsynchronizing。。。窗口的理解:这个窗口中如果有项目有改变的话会自动的下载下来。。

 

show views svn

 

如果两个人的修改是不一样的,会报错

SVN笔记

解决方法挺多,一是先更新下来,再修改自己的,这时候会出现不同的文件,因为有不同的版本,自己的版本和远程的版本都会给显示

 

还有一个使用选项  show reversion graph

 

一般使用  提交 更新 有冲突 进行处理

 

 

cvssvn完成的是一样的东西,但是svn更先进

原创粉丝点击