- 浏览: 750521 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
梦行Monxin商城系统:
java网上商城与php网上商城比较 -
梦行Monxin商城系统:
java网上商城与php网上商城比较 -
任楚娴:
你好,请问html = nvl(html); 这句中的nvl( ...
java html串转换成文本串 -
u013246812:
,谢拉!
jQuery ui Dialog 讲解参数 -
大宝剑99:
...
前端优化
如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来,这里配套有动画教程。
本文是使用Subversion最快速的教程,在最短的时间里帮助您建立起一套可用的服务器环境,只需略加调整就可以应用到实际项目当中。
本教程分为以下几个部门,不仅仅是快速入门,最后我们还有一些高级功能的说明,为了说明简单,教程是在windows下使用的方式,以方便资源有限的项目使用,对于UNIX环境下,区别并不大。
软件下载
服务器和客户端安装
建立版本库(Repository)
配置用户和权限
运行独立服务器
初始化导入
基本客户端操作
1,软件下载
下载Subversion服务器程序。
到官方网站的下载二进制安装文件,来到二进制包下载部分,找到 Windows NT, 2000, XP and 2003部分,然后选择" this directory ",这样我们可以看到许多下载的内容,目前可以下载 svn-1.4.0-setup.exe 。
下载Subversion的Windows客户端TortoiseSVN。
TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。
官方网站是TortoiseSVN ,下载方式和前面的svn服务器类似,在Download页面的我们可以选择下载的版本,目前的最高稳定版本的安装文件为TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi。
2,服务器和客户端安装
服务器安装,直接运行svn-1.4.0-setup.exe ,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。
安装TortoiseSVN,同样直接运行TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi按 照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看 到好的效果,还是重新启动机器。若是不习惯英文还可以选择安装客户端语言汉化包“LanguagePack-1.4.5.10425-win32- zh_CN.exe”(也需下载),安装后默认还是英文,需要在客户端工具中设置一下。
此外,在编译器中也可以使用SVN插件来代替客户端工具,使开发起来更加方便。详细介绍请见Eclipse中SVN版本控制插件的安装和使用
3,建立版本库(Repository)
运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:
svnadmin create E:\svndemo\repository就会在目录E:\svndemo\repository下创建一个版本库。
我们也可以使用TortoiseSVN图形化的完成这一步:
在目录E:\svndemo\repository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。
4,配置用户和权限
svn的权限管理涉及到一下文件:
passwd文件 -- /conf目录下 用于存放本svn库的用户名和密码,用 = 分割,左边是用户名,右边是密码(明文)。
authz -- /conf目录下 用于存放本svn库的访问授权信息。
svnserve.conf -- /conf目录下 用于存放本svn库的全局访问控制信息。
来到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
svnadmin = admin
zgz = zgz0809
最后修改同目录的authz文件,它定义了两部分的内容:
1,对组成员的定义,
2,对目录的授权定义,
可以针对一个单一用户授权,也可以针对在[groups]里面定义的一个组授权,还可以用*通配符来对所有的用户授权,
授权的选项有:只读访问('r'),读写访问('rw'),或者无权防问('').
authz文件中可以对任意多个目录进行权限控制,一下是一个例子:
[groups]
harry_and_sally = harry,sally
#设定权限组
[/]
svnadmin = rw
[/truck]
zgz = rw
harry = rw
sally = r
* = r
[/sanguo]
zgz = rw
harry = r
sally = rw
* = r
[/ts]
@harry_and_sally = rw
# 以@为键值意味着对前面定义的组进行授权
* = r
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
用户svnadmin权限最大,他可以进行根目录(注意:是服务器目录svn://localhost/,下边会介绍的)下所有文件(包括子目录下的文件)的读写操作,而/truck,/sanguo,/ts是在服务器的根目录下创建的三个子目录。
用户zgz 和harry对 /truck具有读写权限,sally 只有读的权限。
用户zgz 和sally对 /sanguo具有读写权限,harry 只有读的权限。
用户harry 和sally对 /ts具有读写权限,zgz只有读的权限。(* = r 表示所有用户都具有读的权限,当然zgz也就自然具有了。注意这里 @harry_and_sally = rw 表示给harry_and_sally组所有用户授权,该组在上边[groups]标签中已定义)
注意:如果用户对一个目录具有某种权限,那么他对其子目录也有同样的权限(例如:svnadmin),所以在授权时要特别注意,尽量只付给满足用户需要的最小的权限。
5,运行独立服务器
在任意目录下运行:
svnserve -d -r E:\svndemo\repository 我们的服务器程序就已经启动了。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。为了方便,可以把svnserve作为服务,在2000下控制台窗口可以运行,创建服务命令:
sc.exe create SVNService binpath= "D:\Subversion\bin\svnserve.exe --service -r E:\svndemo\repository" depend= tcpip
如果加错了可以用:sc delete "SVNService" 命令删除服务。
加好后可以在控制面板的服务选项中找到它,把它启动类型设为手动,然后启动一下看看有没有问题。
注意:
1."D:\Subversion"是SVN服务器端的安装路径,"E:\svndemo\repository"是版本库的路径,视具体情况而定。
2. 等号前无空格后有空格。
3. 应使用参数“--service”而不是“-d”,参数前面的横线不是一个是两个。
4. binpath内套的路径如果包含空格,也需要使用双引号,此时需要使用转义符表示内部的引号(\")。
5.使用“SVNService.exe”将SVN作为Window服务运行(Subversion1.4之前版本也可使用)
SVNService.exe -install -d -r E:\svndemo\repository
6,初始化导入
来到我们想要导入的项目根目录,在这个例子里是E:\svndemo\wc1,目录下有一个readme.txt文件:
右键->TortoiseSVN->Import...
URL of repository输入“svn://localhost/” ,如果服务安装在其他机器则将localhost改换为目标机器的IP地址“svn://10.8.6.87/”。
ok
完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。
需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP是 10.8.6.87,则URL部分输入的内容就是“svn://10.8.6.87/”,一般为了便于管理不会导入到服务的根目录下,而是导入到工程的子 目录,如/truck,/sanguo,/ts。导入的URL就添svn://localhost/truck。
7,基本客户端操作
取出版本库到一个工作拷贝:
来到任意空目录下,在本例中是E:\svndemo\wc1,运行右键->Checkout,在URL of repository中输入svn://localhost/,这样我们就得到了一份工作拷贝。
在工作拷贝中作出修改并提交:
打开readme.txt,作出修改,然后右键->Commit...,这样我们就把修改提交到了版本库,我们可以运行。
察看所作的修改:
readme.txt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working copy,我们可以比较工作拷贝的文件和版本1的区别。
本文是使用Subversion最快速的教程,在最短的时间里帮助您建立起一套可用的服务器环境,只需略加调整就可以应用到实际项目当中。
本教程分为以下几个部门,不仅仅是快速入门,最后我们还有一些高级功能的说明,为了说明简单,教程是在windows下使用的方式,以方便资源有限的项目使用,对于UNIX环境下,区别并不大。
软件下载
服务器和客户端安装
建立版本库(Repository)
配置用户和权限
运行独立服务器
初始化导入
基本客户端操作
1,软件下载
下载Subversion服务器程序。
到官方网站的下载二进制安装文件,来到二进制包下载部分,找到 Windows NT, 2000, XP and 2003部分,然后选择" this directory ",这样我们可以看到许多下载的内容,目前可以下载 svn-1.4.0-setup.exe 。
下载Subversion的Windows客户端TortoiseSVN。
TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。
官方网站是TortoiseSVN ,下载方式和前面的svn服务器类似,在Download页面的我们可以选择下载的版本,目前的最高稳定版本的安装文件为TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi。
2,服务器和客户端安装
服务器安装,直接运行svn-1.4.0-setup.exe ,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。
安装TortoiseSVN,同样直接运行TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi按 照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看 到好的效果,还是重新启动机器。若是不习惯英文还可以选择安装客户端语言汉化包“LanguagePack-1.4.5.10425-win32- zh_CN.exe”(也需下载),安装后默认还是英文,需要在客户端工具中设置一下。
此外,在编译器中也可以使用SVN插件来代替客户端工具,使开发起来更加方便。详细介绍请见Eclipse中SVN版本控制插件的安装和使用
3,建立版本库(Repository)
运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:
svnadmin create E:\svndemo\repository就会在目录E:\svndemo\repository下创建一个版本库。
我们也可以使用TortoiseSVN图形化的完成这一步:
在目录E:\svndemo\repository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。
4,配置用户和权限
svn的权限管理涉及到一下文件:
passwd文件 -- /conf目录下 用于存放本svn库的用户名和密码,用 = 分割,左边是用户名,右边是密码(明文)。
authz -- /conf目录下 用于存放本svn库的访问授权信息。
svnserve.conf -- /conf目录下 用于存放本svn库的全局访问控制信息。
来到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
svnadmin = admin
zgz = zgz0809
最后修改同目录的authz文件,它定义了两部分的内容:
1,对组成员的定义,
2,对目录的授权定义,
可以针对一个单一用户授权,也可以针对在[groups]里面定义的一个组授权,还可以用*通配符来对所有的用户授权,
授权的选项有:只读访问('r'),读写访问('rw'),或者无权防问('').
authz文件中可以对任意多个目录进行权限控制,一下是一个例子:
[groups]
harry_and_sally = harry,sally
#设定权限组
[/]
svnadmin = rw
[/truck]
zgz = rw
harry = rw
sally = r
* = r
[/sanguo]
zgz = rw
harry = r
sally = rw
* = r
[/ts]
@harry_and_sally = rw
# 以@为键值意味着对前面定义的组进行授权
* = r
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
用户svnadmin权限最大,他可以进行根目录(注意:是服务器目录svn://localhost/,下边会介绍的)下所有文件(包括子目录下的文件)的读写操作,而/truck,/sanguo,/ts是在服务器的根目录下创建的三个子目录。
用户zgz 和harry对 /truck具有读写权限,sally 只有读的权限。
用户zgz 和sally对 /sanguo具有读写权限,harry 只有读的权限。
用户harry 和sally对 /ts具有读写权限,zgz只有读的权限。(* = r 表示所有用户都具有读的权限,当然zgz也就自然具有了。注意这里 @harry_and_sally = rw 表示给harry_and_sally组所有用户授权,该组在上边[groups]标签中已定义)
注意:如果用户对一个目录具有某种权限,那么他对其子目录也有同样的权限(例如:svnadmin),所以在授权时要特别注意,尽量只付给满足用户需要的最小的权限。
5,运行独立服务器
在任意目录下运行:
svnserve -d -r E:\svndemo\repository 我们的服务器程序就已经启动了。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。为了方便,可以把svnserve作为服务,在2000下控制台窗口可以运行,创建服务命令:
sc.exe create SVNService binpath= "D:\Subversion\bin\svnserve.exe --service -r E:\svndemo\repository" depend= tcpip
如果加错了可以用:sc delete "SVNService" 命令删除服务。
加好后可以在控制面板的服务选项中找到它,把它启动类型设为手动,然后启动一下看看有没有问题。
注意:
1."D:\Subversion"是SVN服务器端的安装路径,"E:\svndemo\repository"是版本库的路径,视具体情况而定。
2. 等号前无空格后有空格。
3. 应使用参数“--service”而不是“-d”,参数前面的横线不是一个是两个。
4. binpath内套的路径如果包含空格,也需要使用双引号,此时需要使用转义符表示内部的引号(\")。
5.使用“SVNService.exe”将SVN作为Window服务运行(Subversion1.4之前版本也可使用)
SVNService.exe -install -d -r E:\svndemo\repository
6,初始化导入
来到我们想要导入的项目根目录,在这个例子里是E:\svndemo\wc1,目录下有一个readme.txt文件:
右键->TortoiseSVN->Import...
URL of repository输入“svn://localhost/” ,如果服务安装在其他机器则将localhost改换为目标机器的IP地址“svn://10.8.6.87/”。
ok
完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。
需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP是 10.8.6.87,则URL部分输入的内容就是“svn://10.8.6.87/”,一般为了便于管理不会导入到服务的根目录下,而是导入到工程的子 目录,如/truck,/sanguo,/ts。导入的URL就添svn://localhost/truck。
7,基本客户端操作
取出版本库到一个工作拷贝:
来到任意空目录下,在本例中是E:\svndemo\wc1,运行右键->Checkout,在URL of repository中输入svn://localhost/,这样我们就得到了一份工作拷贝。
在工作拷贝中作出修改并提交:
打开readme.txt,作出修改,然后右键->Commit...,这样我们就把修改提交到了版本库,我们可以运行。
察看所作的修改:
readme.txt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working copy,我们可以比较工作拷贝的文件和版本1的区别。
发表评论
-
全国最新行政区划代码(Tree)json数据以及地理数据
2020-11-11 21:23 387基于阿里提供的地理数据 http://datav.aliyun ... -
小知识点--解锁 AppChecker ping ip
2019-06-19 08:40 445在使用AppChecker 进行主动拨测的时候,目 ... -
记录年会小系统
2018-02-04 14:42 1148有点意思,年会过后,抽奖活动saas小系统扒光看看:支持P ... -
jdbc方式以 sys账号连接oracle数据的问题
2017-08-22 10:44 489多年以后,在操作oracle 时 发现 jdbc 连 ... -
proguard 代码混淆
2016-11-22 10:59 696url:http://proguard.sourceforg ... -
solr 表达式意义
2015-02-03 19:29 7841. “:”指定字段查指定值,如返回所有值*:* 2. “? ... -
solr 安装配置
2015-02-03 13:15 752solr 安装配置步骤: 1 首先下载solr(最新 ... -
javax.net.ssl.SSLKeyException: RSA premaster secre临时解决方案
2014-11-25 19:38 4425javax.net.ssl.SSLKeyException ... -
compass 小知识点
2014-09-15 10:22 945今天发现排序不管事, 查了一下:索引的问题:排序的列不进 ... -
java_opts 常用
2014-08-14 13:16 1238JVM设置,可以查考如下配置example:# Memory ... -
RPC Socket 服务调用模型
2014-04-09 16:14 607最近在看Dubbo 服务框架, 通过RPC 实现了输入和 ... -
JVM 基本参数
2014-04-03 11:49 793基本的JVM参数:-classpath, -cp: 设置类搜 ... -
eclipse 快捷键失效解决方法
2014-01-17 17:20 727有时候eclispe快捷键失效了,编码起来太难受了。 ... -
Compass+ lucene 通用代码(脱离数据库)
2013-11-08 15:09 926最近需要通过检索分类的方式进行处理,所以就写了接口与实 ... -
DEBUG远程tomcat
2013-08-21 13:35 1007一、在windows系统中:打开%CATALINE_H ... -
自动获取网页内容,然后写入excel文档中
2013-07-05 15:22 3454今天需要将北京物业公司名称以及电话给整理出来,发现爱帮 ... -
继续学习jersey+spring 构建RESTful风格 webservice
2013-03-13 10:36 3467j先说一下springmvc rest风格 spring ... -
尽量少使用jaxb 进行xml与对象互换
2013-03-09 17:33 1358尽量少使用jaxb 进行xml与对象互换 问题不少,这个好 ... -
Cookie path的设置
2013-02-21 10:58 1954cookie path 设置 IE对如下的co ... -
http 相关知识点
2012-10-11 10:49 1077Host头域 Host头域指定请求资源的Intenet主机和 ...
相关推荐
- **易用性**: SVN的使用相对简单,对于初学者来说易于上手。 - **支持多平台**: SVN可以在多种操作系统上运行,包括Windows、Linux和Mac OS等。 - **强大的社区支持**: SVN拥有庞大的用户群体和活跃的开发者社区,...
它包括如何设置网络模型,以及如何使用svnserve和httpd配置服务器。此外,还介绍了认证模块mod_dav_svn,它是Apache的WebDAV模块的一个扩展,用于支持Subversion的认证和授权。 最后,SVN对于CVS用户而言,提供了从...
svn安装详解 svn(Subversion)是一种版本控制系统,允许用户跟踪文件和目录的变化历史记录。下面是svn安装详解的知识点: 1. 安装Subversion:Subversion的安装过程非常简单,只需不断下一步即可。 2. 创建根...
《Subversion、Apache与SVN服务器配置详解》 在IT领域,版本控制系统对于团队协作至关重要,Subversion(简称SVN)就是这样一款强大的工具。配合Apache服务器,我们可以搭建一个稳定且高效的SVN服务,实现代码的...
### SVN Merge 操作详解 #### 一、引言 Subversion (SVN) 是一个广泛使用的版本控制系统,用于管理软件开发中的源代码变更历史。在团队合作中,合并分支(merge)是一项非常重要的操作,它使得开发人员能够将某个...
### Windows SVN 服务器端配置详解 #### 一、SVN简介 Subversion(简称SVN)是一种开源的版本控制系统,广泛应用于软件开发过程中对代码进行版本控制与管理。相较于早期的版本控制系统如CVS,SVN提供了更强大的功能...
**Visual Studio 2022 SVN 插件详解** 在软件开发过程中,版本控制是至关重要的环节,它帮助团队协作并跟踪代码的变化。Subversion(简称SVN)是一款流行的开源版本控制系统,而AnkhSVN则是一个针对Microsoft ...
本文将从安装 Subversion 开始,到配置 SVN 服务器的所有步骤进行详细讲解。 安装 Subversion 在 Debian 环境下,安装 Subversion 服务器非常简单。只需运行以下命令: $ sudo apt-get install subversion ...
本篇将详细讲解如何在Windows系统下搭建SVN服务器,并实现SVN自动发送邮件通知功能。 首先,我们需要了解Windows下搭建SVN服务器的基本步骤。这通常涉及到以下几个主要组件: 1. **安装SVN服务器**:常见的SVN...
**SVN 客户端与 Web 客户端详解** SVN(Subversion)是一种广泛使用的版本控制系统,用于管理软件项目的源代码和其他文件的版本。它允许团队成员协作开发,跟踪文件更改,合并代码,并轻松回溯到任何历史版本。...
本文将详细介绍如何配置和使用SVN。 首先,你需要下载SVN的相关软件。服务器端程序可以在Subversion的官方网站下载,例如版本1.6。如果你已经安装了TortoiseSVN客户端,确保下载与之兼容的SVN服务端,因为不同版本...
### SVN主从搭建详解 #### 一、简介 在软件开发过程中,版本控制系统扮演着非常重要的角色。Subversion (SVN) 是一个广泛使用的集中式版本控制系统,它可以帮助团队管理和跟踪项目的变更历史。为了提高系统的可用...
为了克服这个问题,本文将详细讲解如何在Eclipse环境中正确安装和使用svn插件。 首先,我们需要下载svn插件Subclipse。Subclipse是一款在Eclipse集成开发环境中使用的Subversion客户端插件,可以在官方网站...
### SVN在Windows系统下的配置详解 #### 软件简介 - **VisualSVN Server**:一款用于搭建Subversion(SVN)服务器的工具,它提供了简单易用的图形化界面来帮助用户快速配置SVN服务器环境。VisualSVN Server分为...
本文将详细讲解如何在MyEclipse 9或10中集成SVN,以及如何设置SVN服务器,以实现代码的版本管理和协同工作。 首先,我们需要了解SVN的基本概念。SVN是一种集中式的版本控制系统,它允许开发者追踪和管理项目中的...
本指南将深入讲解svn和VSS的配置库命令操作,帮助你更好地理解和使用这两种工具。 ### SVN(Subversion) SVN是一款开源的版本控制系统,它使用集中式的管理模式,所有的版本历史都存储在一个中央服务器上。以下是...
**SVN版本配置详解** Subversion(简称SVN)是一种版本控制系统,用于管理代码和文档的变更历史。VisualSVN Server是Windows环境下的一款SVN服务器软件,提供了直观的图形化管理界面,使得SVN的配置和管理变得简单...
《SmartSVN 6.6.10:版本控制利器详解》 SmartSVN是一款功能强大的Subversion(SVN)客户端工具,专为Windows平台设计,提供高效、易用的界面,使得版本控制系统操作变得简单直观。在6.6.10这个版本中,它继续保持...