论坛首页 Java企业应用论坛

版本控制,Subversion

浏览 10687 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (8) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-03-01  

1. SubversionCVS的比较

Subversion是CVS的升级,解决了CVS中一些问题

 

2. 开始使用Subversion

2.1下载Subversion服务器程序

官方网站的下载二进制安装文件,来到二进制包下载部分,找到 Windows NT, 2000, XP and 2003部分,然后选择" this directory ",这样我们可以看到许多下载的内容,目前可以下载 svn-1.4.0-setup.exe

2.2下载SubversionWindows客户端TortoiseSVN

TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。
官方网站是TortoiseSVN ,下载方式和前面的svn服务器类似,在Download页面的我们可以选择下载的版本,目前的最高稳定版本的安装文件为TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi

2.3服务器和客户端安装三

2.4建立版本库(Repository

运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:

 

svnadmin create D:\svndemo\repository

 

就会在目录D:\svndemo\repository下创建一个版本库。

我们也可以使用TortoiseSVN图形化的完成这一步:

在目录D:\svndemo\repository"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。

 

例如:使用一个版本库管理多个项目,project1project2(如图)

 

2.5配置用户和权限

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

# [general]

# password-db = passwd

改为:

[general]

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

# [users]

# harry = harryssecret

# sally = sallyssecret

最后变成:

[users]

harry = harryssecret

sally = sallyssecret

2.6运行独立服务器

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

2.7初始化导入

来到我们想要导入的项目根目录,在这个例子里是E:\svndemo\initproject,目录下有一个readme.txt文件:  右键->TortoiseSVN->Import... URL of repository输入“svn://localhost/project1 或“svn://192.168.5.49/project1ok 完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。  需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP192.168.5.49,则URL部分输入的内容就是“svn:// 192.168.5.49/project1

2.8基本客户端操作

取出版本库到一个工作拷贝:

来到任意空目录下,在本例中是E:\svndemo\wc1,运行右键->Checkout,在URL of repository中输入svn:// 192.168.5.49/project1,这样我们就得到了一份工作拷贝。

 

在工作拷贝中作出修改并提交:

打开readme.txt,作出修改,然后右键->Commit...,这样我们就把修改提交到了版本库,我们可以运行。

 

察看所作的修改:

readme.txt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working copy,我们可以比较工作拷贝的文件和版本1的区别  

2.8.1假设有一个基于netbeanjava项目,已经import到版本库repository下的project2,那么通过netbean 6.0中使用Subversion

 

netbean中签出后,就可以进行平时的小组共同开发了。

 

总结:Tortoise SVN的使用相对比较简单,比较重要和困难的是版本库的管理。

 

参考资源:

 

Subversion快速入门教程》

《使用Subversion进行版本控制》

  • 大小: 11.8 KB
   发表时间:2008-03-01  
SVN有个特别两个特别不爽的问题:
1, 源码库里的文件,如果改了文件名,就再也签不进去, 除非,删掉,重建, 做一大堆工作,才能搞定
2, 改名时,文件名大小写不敏感 也就是说改不了. 可是在签进库的时候,大小写又敏感了
0 请登录后投票
   发表时间:2008-03-01  
laoxing521 写道
SVN有个特别两个特别不爽的问题:
1, 源码库里的文件,如果改了文件名,就再也签不进去, 除非,删掉,重建, 做一大堆工作,才能搞定
2, 改名时,文件名大小写不敏感 也就是说改不了. 可是在签进库的时候,大小写又敏感了

有同感
0 请登录后投票
   发表时间:2008-03-01  
langkins 写道
laoxing521 写道
SVN有个特别两个特别不爽的问题:
1, 源码库里的文件,如果改了文件名,就再也签不进去, 除非,删掉,重建, 做一大堆工作,才能搞定
2, 改名时,文件名大小写不敏感 也就是说改不了. 可是在签进库的时候,大小写又敏感了

有同感


这样就麻烦了。
0 请登录后投票
   发表时间:2008-03-01  
laoxing521 写道
SVN有个特别两个特别不爽的问题:
1, 源码库里的文件,如果改了文件名,就再也签不进去, 除非,删掉,重建, 做一大堆工作,才能搞定
2, 改名时,文件名大小写不敏感 也就是说改不了. 可是在签进库的时候,大小写又敏感了

对于问题1. 你需要使用 svn mv SRC DST 来改名,而不是简单在资源管理器里修改
对于问题2. 那是因为在Windows的文件名中不区分大小写,但是在SVN repository中区分大小写,解决办法就是换到非Windows 系统下面进行开发
0 请登录后投票
   发表时间:2008-04-03  
楼上正解,svn不是很简单的东西,看过文档再说也不迟,呵呵。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics