`
bcyy
  • 浏览: 1842180 次
文章分类
社区版块
存档分类
最新评论

SVN服务配置

 
阅读更多

在windows下配置svn服务器

windows系统使我们经常使用的操作系统怎么才能使用我们现在经常使用的操作系统不变的情况下继续我们的SVN之旅,我们在综合了好动种方法的同时感觉这些内容非常贴近我们SVN在Windows种的应用与配置.

1.下载文件,

下载最新版本subversion,我这里选择svn-1.4.5-setup.exe

下载 "Subversion Windows Service" 软件包

下载 TortoiseSVN shell integration utility

2.安装Subversion 服务器

由于我下载的是setup.exe版本,安装程序安装后会自动设置系统变量.如果你下载的是zip版就需要手动设置系统变量.

setup.exe版直接安装就可以了.安装到D:/Program Files/Subversion

首先创建SVN储存库(repository)

svnadmin create F:/svn/


cmd/${svn_home}/bin
svnadmin createmy_first_store(仓库目录名)
svnserved -r my_first_store(-d 后台运行,-r 超级管理员的身份,my_first_store共享的仓库目录名)
(配置下用户环境变量可以再任何地方创建)
SVN可以配置入APACHE服务器,但也可以自己通过cmd运行,配置完成
svnserve.conf 主服务文件
authz 权限文件
passwd 用户密码
文件,再启动服务即可

创建服务 svnadmin create MyStore1 ------------创建版本库名MyStore1的库
运行自己的版本库 svnserve -d -r MyStore1
(具体参数见: svnserve -help)

接下来,服务启动完成.值得注意到几个地方:

.配置SVN服务器

(这个位置就是在你建储存库的地方F:/svn)

打开/conf/目录,打开svnserve.conf找到一下两句:

# anon-access = read
# auth-access = write

# password-db = passwd

# authz-db = authz

去之每行开头的#,

同样打开passwd文件,将

# [users]

# harry = harryssecret

# sally = sallyssecret

格式为“用户名 = 密码”,如可插入一行:admin = admin888,即为系统添加一个用户名为admin,密码为admin888的用户

还有打开auth文件,配置用户权限,

[/]

admin=rw


1.所有文件的#去掉以后,内容要向左顶格,不能有空格
2.authz里面可以 配置权限组[groups],具体目录权限[/],库目录权限[MyStore1:/] (MyStore1为自己的库名)
3.客户端访问的时候 svn://192.168.1.101 登录,然后根据权限,可以在相应的目录下读写.

特别注意:

其中,trunk,branches,tags目录并不是必须的,但多数人习惯这样,所以最好不要标新立异,这些目录是我们自己创建的,自建库本身没有这些目录.具体可以参见参考blog1:

在项目开发初期,可以仅仅使用trunk来管理代码,不过一旦项目发展起来,开发时就不应该直接操作trunk了,此时应该使用branches来管理代码,比如可以使用下面的命令建立一个名为1.x的branches:

svn copy svn://server/project/trunk svn://server/project/branches/1.x

开发工作都在branches中完成,一旦完成了编码,就可以把代码合并到trunk中去:

先要查查branches是什么时候创建的:

svn log --stop-on-copy svn://server/project/branches/1.x

假设查到的版本号是<version>, 然后进入到trunk工作拷贝中,执行:

svn merge -r <version>:HEAD svn://server/project/branches/1.x

最后提交即可:

svn commit

这还不算完,此时应该在tags里发布这个新版本(比如说版本号是1.0):

svn copy svn://server/project/trunk svn://server/project/tags/1.0

为了记牢一点,再唠叨一下trunk,branches,tags的用途:

trunk:仅保存最新的稳定代码,代码的改变尽可能通过branches来merge,而不要手动commit代码。
branches:用来管理代码的日常开发,可以手动commit代码。
tags:仅保存各个版本的代码快照,比如类似版本:1.0,1.1,1.2等等。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics