SVN1.6.5详细配置

 

提示大家:sc cretate命令后面带的参数比如[binPath= ]的等号后面必须有个空格,没空格你怎么折腾都不行的,哈哈。微软还真搞笑啊,搞这么个功能迷惑人。同样,后面的其它参数比如group= , displayname=的等号后面都需要空格,不然sc create命令不会成功创建服务,只会返回给你帮助信息。

(注:运程连接,需要关闭SVN服务器的防火墙(点击”开始””设置”控制面板”点击”安全中心”点击”防火强”选择”关闭”))

SVN1.6.5详细配置(转)

以前用SVN以及CVS都是别人配置好的,只要装一个客户端就可以用了。今天在网上搜了一下,好不容易才配置好了,在此分享一下,以后要配置也可以看看,呵呵 

Subversion是SVN的服务端,下载地址:我下载的是svn-win32-1.6.5.zip,只要解压就可以了。 
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91 

SVN客户端的下载地址: 
http://tortoisesvn.net/downloads 
TortoiseSVN 是一个客户端程序,用来与 subvers 服务器端通讯。Subversion 自带一个客户端程序 svn.exe ,但 TortoiseSVN 更好操作,提高效率。 


SVN服务端跟客户端下载好了,接下来就可以安装。 
我的服务端是解压在D:/svn下,把SVN下bin的路径在Windows环境里配置一下,Path指定为D:/svn/bin 
接下来就进入命令行,在运行里输入CMD,进入命令行后,输入以下命令: 
sc create svn binpath= "D:/svn1.6.5/bin/svnserve.exe --service -r D:/SvnVoB" displayname= "Subversion Server" depend= Tcpip start= auto 

(注:在启动Subversion Server服务前必须创建D:/SvnVoB目录)

这命令中的D:/svn1.6.5/bin/为服务端的路径,D:/svn为存放SVN库的路径,以后所有的项目都存放在这里。这样,SVN就交给Windows服务管理,服务名为svn。每次启动电脑的时候就会自动启动SVN服务,你也可以在Windows服务里更改启动设置,比如:手动。 

如果不想交给Windows服务管理,你也可以在命令行输入以下命令: 
sc detele svn //删除名为svn的服务 

一旦定义了服务,就可以使用标准GUI工具(服务管理控制面板)进行停止、启动和查询,或者是通过命令行: 
net stop svn 
net start svn 



运行Subversion服务器需要首先要建立一个版本库(Repository)。版本库可以看作是服务器上集中存放和管理数据的地方。 

开始建立版本库。以之前建立的D:/svn空文件夹作为所有版本库的根目录。然后,进入命令行输入如下命令: 

svnadmin create d:/svn/repos1 
此命令在 d:/svn 下建立一个版本库 repos1 。repos1 下面会自动生成一些文件夹和文件。 

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

先建立空目录 d:/svn/repos1 ,注意一定是要空的。然后在 repos1 文件夹上“右键->TortoiseSVN->Create Repository here...”,然后可以选择版本库模式,这里使用默认的FSFS即可,然后就创建了一系列文件夹和文件,同命令行建立的一样。 

如果subversion 服务还没有开启,需要启动SVN服务,启动SVN服务的方法有多种,没有没有交给Windows管理,可以在命令行中输入: 
svnserve.exe --daemon --root d:/svn 

如果交给Windows服务管理,可以在命令窗口输入: 
net start svn 

然后在TortoiseSVN中的版本库浏览器URL输入为:svn://localhost/repo1即可查看SVN里的文件。 


下面就是将我们的数据(项目)导入到这个版本库,以后就由版本库管理我们的数据。我们的任何改动都回被版本库记录下来,甚至我们自己丢失、改错数据时版本库也能帮我们找回数据。 

比如,我在 d:/wwwroot 下有个 guestbook 文件夹,里面存放的是我编写的项目。在此文件夹上“右键 -> TortoiseSVN -> Import...” ,在弹出对话框的“URL of repository”输入“svn://localhost/repos1/guestbook”。在“Import message”输入“导入整个留言簿”作为注释。 
点 OK 后要求输入帐号。我们在用户名和密码处都输入 用户名跟密码(如果没有设置就不要输入)。完成后 guestbook 中的内容全部导入到了 svn://localhost/repo1/guestbook 。 

我们看到在 d:/svn/repo1 没有任何变化,连个 guestbook 文件夹都没有建立,唯一的变化就是d:/svn/repo1容量变大了。实际上我们源guestbook中的内容已经导入 repo1 版本库了,源 guestbook 文件夹可以删除了。 

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



配置用户和权限 

用文本编辑器打开d:/svn/repos1/conf目录,修改svnserve.conf: 

将: 

# password-db = passwd 
改为: 

password-db = passwd 
即去掉前面的 # 注释符,注意前面不能有空格。 

然后修改同目录的passwd文件,增加一个帐号: 

将: 

[users] 
# harry = harryssecret 
# sally = sallyssecret 
增加帐号: 

[users] 
#harry = harryssecret 
#sally = sallyssecret 
test = test 



基本操作流程 

1、取出(check out) 

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

来到任意空目录下,比如在f分区建立一个空文件夹 f:/work 。“右键 -> SVN Checkout”。在“URL of repository”中输入“svn://localhost/repo1/guestbook”,这样我们就得到了一份 guestbook 中内容的工作拷贝。 

2、存入(check in)/提交(commit) 

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

在 guestbook 工作拷贝中随便打开一个文件,作出修改,然后“右键 -> SVN Commit... ”。这样我们就把修改提交到了版本库,版本库根据情况存储我们提交的数据。 

在修改过的文件上“右键 -> TortoiseSVN -> Show Log” ,可以看到对这个文件所有的提交。在不同的 revision 条目上“右键 -> Compare with working copy”,我们可以比较工作拷贝的文件和所选 revision 版本的区别。 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上是不可以工作。下面举例说明:   开始新一天的工作:   1:从服务器下载项目组最新代码。   2:进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了那些代码,就需要这样做了)。   3:下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。   这就是经典的svn工作流程,从流程上看,有不少缺点,但也有优点。   缺点:   1、 服务器压力太大,数据库容量暴增。   2、 如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,   就不能提交,还原,对比等等。   3、不适合开源开发(开发人数非常非常多,但是Google app engine就是用svn的)。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。   优点:   1、 管理方便,逻辑明确,符合一般人思维习惯。   2、 易于管理,集中式服务器更能保证安全性。   3、 代码一致性非常高。   4、 适合开发人数不多的项目开发。   5、大部分软件配置管理的大学教材都是使用svn和vss。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值