svn 服务器的搭建与配置

来源:互联网 发布:合肥八度网络贴吧 编辑:程序博客网 时间:2024/06/01 10:20

1、下载最新版本的svn服务器 比如 Setup-Subversion-1.6.15.msi   地址: <!--文件下载http://download.csdn.net/source/3311549 -->(有的时候在windows2003中不能开启也可以用VisualSVN-Server-2.1.3.msi这个界面花的svn服务地址http://download.csdn.net/source/3311669)
2、下载最新版本的svn 客户端 比如TortoiseSVN-1.6.12.20536-win32-svn-1.6.15.msi   地址: http://download.csdn.net/source/3311621 (相对应的汉化包LanguagePack_1.6.12.20536-win32-zh_CN.msi 地址: http://download.csdn.net/source/3311559 )
3、在磁盘上创建一个空文件夹 如d:/repository
4、在repository文件夹下建多个空的子文件夹 如果group1,group2,group3.....以便将来进行分组。
5、

一、准备工作

1、获取 Subversion 服务器程序

到官方网站(http://subversion.tigris.org/)下载最新的服务器安装程序。目前最新的是1.5版本,具体下载地址在:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91


2、获取 TortoiseSVN 客户端程序

从官方网站 http://tortoisesvn.net/downloads 获取最新的 TortoiseSVN 。TortoiseSVN 是一个客户端程序,用来与 subvers 服务器端通讯。Subversion 自带一个客户端程序 svn.exe ,但 TortoiseSVN 更好操作,提高效率。


二、安装服务器端和客户端

安装 Subversion(以下简称SVN)的服务器端和客户端。下载下来的服务器端是个 zip 压缩包,直接解压缩即可,比如我解压到 E:/subversion 。客户端安装文件是个 exe 可执行文件,直接运行按提示安装即可,客户端安装完成后提示重启。


三、建立版本库(Repository)

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

开始建立版本库。首先建立 d:/repository 空文件夹作为所有版本库的根目录。然后,进入命令行并切换到subversion的bin目录。输入如下命令:

svnadmin create d:/repository/group1

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

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

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

四、运行独立服务器

此时 subversion 服务还没有开始,只是通过它的命令建立了版本库。继续在刚才的命令窗口输入:

d:/>svnserve -d -r d:/repository


五、配置用户和权限

1、用文本编辑器打开d:/repository/group1/conf目录,修改svnserve.conf:

1)修改server.conf
将:

# password-db = passwd

改为:

password-db = passwd

将:

#anon-access = read

改为:

anon-access = none
2)修改passwd文件

去掉前面的 # 注释符,注意前面不能有空格。


将:

[users]
# harry = harryssecret
# sally = sallyssecret

改为:

[users]
lisi = lisi(这是管理员自己设置的用户名和密码)
zhangsan=zhangsan(这是管理员自己设置的用户名和密码)
3)修改authz文件

将:
[groups]
# harry_and_sally = harry,sally

# [/foo/bar]
# harry = rw
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

改为:
[/]
lisi = rw(设置lisi用户的权限为在这个组中对group1资料库是可读可写的)
zhangsan=rw(设置zhangsan用户的权限为在这个组中对group1资料库是可读可写的

* =


2、用文本编辑器打开d:/repository/conf目录,修改svnserve.conf:

将:

# password-db = passwd

改为:

password-db = passwd

将:

#anon-access = read

改为:

anon-access = none

将:

[users]
# harry = harryssecret
# sally = sallyssecret

改为:

[users]
admin=admin
lisi = lisi(这是group1组里设置的用户名和密码)
zhangsan=zhangsan(这是group1组里设置的用户名和密码)

1)修改server.conf
将:

# password-db = passwd

改为:

password-db = passwd

将:

#anon-access = read

改为:

anon-access = none
2)修改passwd文件

去掉前面的 # 注释符,注意前面不能有空格。


将:

[users]
# harry = harryssecret
# sally = sallyssecret

改为:

[users]
admin=admin
lisi = lisi(这是group1组里设置的用户名和密码)
zhangsan=zhangsan(这是group1组里设置的用户名和密码)
3)修改authz文件

将:
[groups]
# harry_and_sally = harry,sally

# [/foo/bar]
# harry = rw
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

改为:
[groups]
group_admin=admin
group1=lisi,zhangsan
[/]
@group_admin=rw
*=
[/group1]
@group1=rw
* =
3.如何需那两个或两个以上的分组,须进行第一,第二步的操作.
六、初始化导入

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

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

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

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


七、基本操作流程

1、取出(check out)

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

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

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

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

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

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

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 告对方不知道对方出身日期怎么办 上海业余围棋4进3老不过怎么办 孩子想上学但又怕同学议论怎么办 在菲律宾黑了博彩老板的钱怎么办 九阴真经3d先遣服更新失败怎么办 公司核名通过不想用了怎么办 公司核名下来了不想注册了怎么办 家人受到小贷公司催款威胁怎么办 商标抽签资料提交上去有问题怎么办 花椒直播助手苹果版下载不了怎么办 在香港酒店住把床单弄上血了怎么办 综英美我能怎么办我也很绝望百度云 护照的名字中间有个空格怎么办 开车不小心压死黄鼠狼了怎么办 三户联保贷款一方不还怎么办 因为隔断中介违约…我该怎么办 上海居住证没下来换住址了怎么办 工商注册后大股东不注资怎么办 公司不给去办理变更股东信息怎么办 滴滴车主注册没有自己的车型怎么办 代办用虚假地址注册的公司怎么办? 写字楼注册公司租户不租了怎么办 租户没把公司迁出我该怎么办 租户不肯把户口迁出了业主怎么办 同片区个体户营业场所搬迁怎么办 个体领发票的本丢了怎么办 领房产证发票和合同丢了怎么办 税务登记证5年没有办怎么办 二证合一后税务登记证怎么办? 微信漂流瓶打招呼对方收不到怎么办 添加不上徽信好友的微信帐号怎么办 手机号码不用了微信密码忘了怎么办 别人用我的手机号码注册微信怎么办 电脑此网站的安全证书有问题怎么办 起诉离婚开庭时被告不到场怎么办 商标35类被别人注册了怎么办 商标被注销后被别人注册怎么办 电商35类商标被抢注怎么办 血小板太低怎么办可以吃水果吗? 微信好友删除了只记得昵称怎么办 优酷会员1080p很卡怎么办