首页 | PHP资讯 | 技术专栏 | 资源共享 | PHP培训 | PHP职场 | 图书 | PHP ON WIN | PHP圈子 | PHPer学习大本营
返回列表 回复 发帖

casual0402的SVN笔记

casual0402的SVN笔记

【casual0402的SVN笔记】Casual0402 2008-11-5 18:55第一次笔记


1.了解版本控制

版本控制(Revision control)是一种软件工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。


版本控制透过文档控制(documentation control)记录程序各个模组的改动,并为每次改动编上序号。这种方法是维护(maintenance of 工程图(engineering drawings)的标准做法,
它伴随着工程图从图的诞生一直到图的定型。
一种简单的版本控制形式,例如,赋给图的初版一个版本等级“A”。当做了第一次改变后,版本等级改为“B”,以此类推等等。

参考资料:http://baike.baidu.com/view/183136.htm


2.了解Subversion
Subversion是一种自由的、开源的版本控制系统。

进一步了解:http://subversion.tigris.org/
下图为Subversion的构架:
1.jpg (34.01 KB)
Subversion的构架
2008-11-7 22:54



3.了解TortoiseSVN
它是windows下的一种Subversion客户端。



我觉得暂时稍微了解下这些就可以了,大餐总是在后头。

从官网上下载Subversion以及TortoiseSVN及其语言包安装,默认安装即可。
重启搞定。


4.建立版本库(Repository

E盘下建立:E:\svndemo\repository\
选中repository 文件夹,右键->TortoiseSVN ->在此创建版本库。

5.
配置用户和权限

来到E:\svndemo\repository\conf目录,修改svnserve.conf

# [general]
# password-db = passwd
改为:

[general]
password-db = passwd 然后修改同目录的passwd文件,去掉下面三行的注释:

# [users]
# harry = harryssecret
# sally = sallyssecret
最后变成:

[users]
harry = harryssecret
sally = sallyssecret
其中,等号左边是用户名,右边是密码,比如abc = 123表示用户名为abc,密码为123



注意Subversion无法识别配置文件中的前置空格,所以删除#号时要清除掉多余的空格,否则会提示错误,我就遇到了。


6.
运行独立服务器

打开windowsCMD,在任意目录下运行:

svnserve -d -r E:\svndemo\repository 我们的服务器程序就已经启动了。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。


7.
导入

在刚才svndemo目录下创建initproject文件夹,内含readme.txt,我们不妨写上一句:begin。选中initproject文件夹,右键->TortoiseSVN->导入,如果没有出错则成功导入。如果出现Error: Can't connect to host '': 由于目标机器积极拒绝,无法连接的错误,则可能是你没操作第6点,或者端口被拒绝访问,比如防火墙不放行等。


              成功则如图示:
2.jpg (17.4 KB)
2008-11-7 22:54




              需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22/”。


8.
导出

              svndemo下创建wc1文件夹,右键->SVN检出。成功则如图示:
3.jpg (7.11 KB)
2008-11-7 22:54

              打开readme.txt,在第二行添加一句hello,world,保存后图标会改变成红色感叹号,这时候选择readme.txt,右键->SVN提交。提交时会有框框可以填写修改内容,此时最好写得详细具体点,比如我就写:在第一行begin下面添加了一句hello,world。提交成功后图标又变为绿色勾勾。

              这时候,我的心情还是有点小高兴的。

              选中readme.txt,右键->TortoiseSVN->与上一版本比较,则可查看出不一样的地方出来。

              又或者,右键->TortoiseSVN->版本库浏览,选中readme.txt,右键->显示日志,也可以查看记录。

OK
,第一次的笔记就到这里。

       参考资料:http://www.subversion.org.cn/


第二次笔记

       版本控制系统的核心问题:系统是设计用来记录和跟踪每次修改的。

       版本控制系统都要解决的问题:怎样让不同用户共享信息,却又不会造成干扰。


       在版本控制领域有着两种方案。

1.
锁定-修改-解锁

容易看得出来,这种方案就是甲在修改文件的时候读文件进行锁定,修改完再解锁。其他人在甲修改的时候无法编辑该文件,直到甲解锁。


2.
复制-修改-合并

该方案支持多用户同时修改,如果遇到冲突则由版本控制系统提示冲突,然后由用户讨论解决。



Subversion 1.2
以后的版本都支持以上两种方案。


       实例操作:

              我们先开启服务,再在svndemo文件夹下面创建一个wc2文件夹,同时检出readme.txtwc2目录下。

              我们先修改一下wc1文件夹下面的readme.txt,我在begin后面加入了一句impossible is nothing,然后commit提交上去。接着修改wc2文件夹下面的readme.txt,我在begin后面加了一句just do it,也同样进行提交,出现如下结果:
4.jpg (19.2 KB)
2008-11-7 22:54



我们按照提示来更新工作副本,得到如下反馈:
5.jpg (13.56 KB)
2008-11-7 22:54



现在就具体形象地了解了冲突了。我们查看一下日志:
6.jpg (13.19 KB)
2008-11-7 22:54



              可以发现版本3readme.txt添加了一句impossible is nothing,与wc2目录下的readme.txtjust do it有冲突。为了解决冲突,经过协商,采取了impossible is nothing,因为这冲突无关紧要。

              那问题就是我们应该如何解决冲突

              我们进入wc2,选中readme.txt,右键->TortoiseSVN->编辑冲突,则可以进入编辑界面:
7.jpg (18.88 KB)
2008-11-7 22:54


Casual0402 2008-11-6 15:39

第三次笔记

       了解一下锁定。

       首先,开启svnserve,然后进入svndemo,选中wc1文件夹,右键->TortoiseSVN->获取锁定,然后输入相关信息就可以锁定了。

       这时,我们选中wc2文件夹,先更新一下,再修改一下目录下的readme.txt,我在第三行加入了一句hi,然后进行提交,得到如下提示:

8.jpg (18.08 KB)
2008-11-7 22:54


于是,我们回到wc1文件夹,选中它,右键->TortoiseSVN->解除锁定,得到如下提示:
9.jpg (9.42 KB)
2008-11-7 22:54


然后,我们选中wc2文件夹,先更新,再提交,如下图:
10.jpg (32.97 KB)
2008-11-7 22:54

按确定后得到下图:
11.jpg (18.29 KB)
2008-11-7 22:54

搞定。这样就形象地了解了一下锁定-修改-解锁模式了。



接下来,了解一下比较。

我们先更新一下wc1目录,然后选中,右键->TortoiseSVN->显示日志,得到下图:
12.jpg (23.49 KB)
2008-11-7 22:54



选中版本7,如下图:
13.jpg (14.61 KB)
2008-11-7 22:54


右键->与工作副本比较,双击弹出窗口中的文件补丁中的readme.txt,会弹出TortoiseMerge
14.jpg (9.34 KB)
2008-11-7 22:54


以及:
15.jpg (9.66 KB)
2008-11-7 22:54


即可清晰地对比出不同之处。


同样的,在日志信息中选中某版本,右键,也可以选择复原等操作。

OK,这次笔记就到这里。




Casual0402 2008-11-7 12:

想学学,呵呵tukiz18 tukiz18

TOP

tukiz19
天---人---地:无---能---有
推荐连续剧:《一公升的眼泪》

TOP

图都看不到,做人要厚道
天---人---地:无---能---有
推荐连续剧:《一公升的眼泪》

TOP

回复 4# Deman 的帖子

怎么可能……
我看得到啊!

TOP

随便举个小图 证明下图看得到

TOP

123

TOP

本帖隐藏的内容需要回复才可以浏览
自从咱写了php,,腰不酸了,背不痛了,腿也不抽筋了

TOP

123

看图
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
自从咱写了php,,腰不酸了,背不痛了,腿也不抽筋了

TOP

回复 9# raylzw 的帖子

啊 那是我的错 不过我这边看得了……

TOP

返回列表