1.下载文件,
 
下载最新版本subversion,我这里选择VisualSVN-Server-2.5.7.exe
 
2.安装Subversion 服务器
 
由于我下载的是setup.exe版本,安装程序安装后会自动设置系统变量.如果你下载的是zip版就需要手动设置系统变量.
 
setup.exe版直接安装就可以了.安装到D:/Program Files/Subversion
 
首先创建SVN储存库(repository)
 
svnadmin create F:/svn/
 
repository创建完毕后会在目录下生成若干个文件和文件夹,dav目录是提供给Apache与mod_dav_svn使用的目录,让它们存储内部数据;db目录就是所有版本控制的数据文件;hooks目录放置hook脚本文件的目录;locks用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端;format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号;
 
3.配置SVN服务器
 
(这个位置就是在你建储存库的地方F:/svn)
 
打开/conf/目录,打开svnserve.conf找到一下两句:
 
# [general]
 
# password-db = passwd
 
# anon-access = none
 
# auth-access = write
 
去之每行开头的#,其中第二行是指定身份验证的文件名,即passwd文件.anon-access = none 是匿名用户不能访问,必须要有用户名和密码。(注意:问题就出在这,一定要注意格式去掉注释后要顶格不能有空)
 
同样打开passwd文件,将
 
# [users]
 
# harry = harryssecret
 
# sally = sallyssecret
 
       格式为“用户名 = 密码”,如可插入一行:admin = admin888,即为系统添加一个用户名为admin,密码为admin888的用户
 
4.运行SVN服务器
 
运行SVN服务
 
在命令行执行
 
svnserve --daemon --root F:/svn
 
服务启动,--daemon可简写为-d,--root可简写为-r,可以建立一个批处理文件并放在windows启动组中便于开机就运行SVN服务(注意:这是临时打开的服务,命令执行后不能关闭窗口)
 
用后台服务的方式可以设置开机自动执行。
 
D:/Program Files/Subversion/bin>sc create svnservice binpath= "d:/Program Files/Subversion/bin/svnserve.exe --service -r F:/SVN"
(sc 是windows中生成服务的命令)
 
就可以用net svnservice stop 或者start来启动服务了 也可以在Sevices.msc来启动了。
 
5、用客户端访问
 
格式:svn://服务器IP
 
 
 
---------------------------------------------------------------------------------------------------------
 
 
 
基于svnserve的服务器,权限文件authz配置的常见问题及解答  
 最近在我用Subversion论坛(http://www.iUseSVN.com/bbs)经常有人提到这样的问题: 
为什么我的客户端没有写权限? 
为什么我的权限没有起作用?
 
总结他们的配置,发现 
都是用svnserve作为服务器, 
都在svnserve.conf中使用了authz-db选项
 
原因可能如下:
 
1,配置authz时,没有注意svnserve启动参数-r所指定的目录。 
这里有两种情况: 
A:-r直接指定到版本库(称之为单库svnserve方式) 
比如,有一个库project1,位于D:/svn/project1 
使用以下命令启动svnserve
 
[Copy to clipboard] [ - ]CODE: 
svnserve -d -r D:/svn/project1 
在这种情况下,一个svnserve只能为一个版本库工作 
authz文件如果配置成下面这样就是错的,
 
[Copy to clipboard] [ - ]CODE: 
[groups] 
admin=user1 
dev=user2 
[project1:/] 
@admin=rw 
@doc=r 
应该配置成
 
[Copy to clipboard] [ - ]CODE: 
[groups] 
admin=user1 
dev=user2 
[/] 
@admin=rw 
@doc=r 
因为[project1:/]表示库project1的根目录,而按上面的启动参数,是没有库的概念的。 
使用类似这样的URL:svn://192.168.0.1/ 即可访问project1
 
B:-r指定到版本库的上级目录(称之为多库svnserve方式) 
同样,有一个库project1,位于D:/svn/project1 
如果使用以下命令启动svnserve
 
[Copy to clipboard] [ - ]CODE: 
svnserve -d -r D:/svn 
这种情况,一个svnserve可以为多个版本库工作, 
这时如果想限制指定库的指定目录,就应该指定具体的库,像这样
 
[Copy to clipboard] [ - ]CODE: 
[groups] 
admin=user1 
dev=user2 
[project1:/] 
@admin=rw 
@doc=r 
如果此时你还用[/],则表示所有库的根目录,同理,[/src]表示所有库的根目录下的src目录 
使用类似这样的URL:svn://192.168.0.1/project1 即可访问project1 
这样的URL:svn://192.168.0.1/project2 即可访问project2
 
2,对中文目录进行权限控制时,没有将权限文件authz改为utf-8格式。
 
svn对于非英文文件名和目录名使用utf-8格式编码处理,要对中文目录进行正确控制, 
应该使用无BOM的utf-8格式,如何将默认的文件转为utf-8, 
我使用的是UltraEdit的菜单"ASCII to UTF-8 (Unicode Editing)"。在UltraEdit的配置中,可以设置有无BOM 

Windows 下 SVN 服务器配置的更多相关文章

  1. 研究windows下SVN备份及还原恢复方案

    windows下SVN备份方案 备份策略 svn备份一般采用三种方式: 1)svnadmin dump  2)svnadmin hotcopy  3)svnsync.  注意,svn备份不宜采用普通的 ...

  2. Windows下SVN服务器搭建方法整理(apache)

    http://skydream.iteye.com/blog/437959 http://www.cnblogs.com/liuke209/archive/2009/09/23/1572858.htm ...

  3. Windows下SVN权限配置过程详解

    本节讲解一下Windows下SVN权限配置说明,针对的是一个目录下多库的情况,下面是具体的介绍,希望通过本文的学习,你能够对SVN权限配置问题有更加深刻的认识. 1.本文档适用于对Subvesion的 ...

  4. Windows下SVN权限配置

    Windows下SVN权限配置          按照前面的教程装完1.6.1版以后,当svnadmin create D;\svn创建仓库后,应该在仓库目录下的config目录有3个文件— auth ...

  5. Windows下SVN服务器的搭建步骤

    1.下载svn服务端和客户端 服务端VISUALSVN SERVER:https://www.visualsvn.com/ 客户端TortoiseSVN:https://tortoisesvn.net ...

  6. Windows下svn客户端和服务器的安装使用

    svn,全称subversion, 是目前用的较多的开源的版本管理工具.相信有些经历的程序员应该都听说过它. 通常的svn服务器是搭建在Linux中,不过如果作为个人或者单个小组使用的话,就可以把sv ...

  7. SVN学习之windows下svn的安装

    svn是apache的一个开源项目,全称为subversion.是一个基于版本的项目管理软件,一般在多人开发的项目中使用,目前svn已经替代了原来的cvs.大多数情况下,svn服务安装在linux服务 ...

  8. Windows下.svn文件夹的最简易删除方法

    如果想删除Windows下的.svn文件夹,通过手动删除的渠道是最麻烦的,因为每个文件夹下面都存在这样的文件. 下面是一个好办法: 建立一个文本文件,取名为kill-svn-folders.reg(扩 ...

  9. Windows下.svn文件夹的最简易删除方法(附linux)

    如果想删除Windows下的.svn文件夹,通过手动删除的渠道是最麻烦的,因为每个文件夹下面都存在这样的文件.下面是一个好办法:建立一个文本文件,取名为kill-svn-folders.reg(扩展名 ...

随机推荐

  1. srpm包的编译方式

    基本说明:后缀仅为rpm的包如xxxxx.rpm称作为二进制包 ------ 可以直接安装到架构匹配的系统上; 后缀为src.rpm的包如webkitgtk-2.4.7-1.fc21.src.rpm称 ...

  2. C++学习笔记4——类的封装(2)

    简介: 重载的运算符是具有特殊名字的函数:它们的名字由关键字operator和其后要定义的运算符号共同组成.其中一元运算符有一个参数,二元运算符有两个参数. 可以被重载的运算符 + - * / % ^ ...

  3. CodeForces 569A 第六周比赛C踢

    C - C Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  4. iphone升级ios7之后出现蓝框框一直跳的问题

    问题描述:iphone升级ios7之后出现蓝框框一直跳            解决办法:设置-通用-辅助功能-切换控制-里边打开了切换控制及自动扫描,直接关闭切换控制就好了

  5. iPhone 被同步到 Mac上后 如果不希望更新到Mac上在哪里删除?

    前往文件夹   /Users/用户名/Library/Application Support/MobileSync  直接删除  就行了(同时要倾倒废纸篓). 目前iPhone链接Mac 后  不让 ...

  6. webkit的基本应用

    新建Qt Widgets Application->Browser01 修改.pro文件内容: #------------------------------------------------ ...

  7. compile libvirt

    POSIX-linux 编译安装libvirt依赖包; 1.yum install device-mapper-devel

  8. 大龄剩女四大结局:孤寡 后妈 拉拉 出家 宽带山KDS-宽带山社区-第一城市消费门户

    大龄剩女四大结局:孤寡 后妈 拉拉 出家 宽带山KDS-宽带山社区-第一城市消费门户 主题:大龄剩女四大结局:孤寡 后妈 拉拉 出家

  9. Linux----硬连接和软连接

    一,概念 在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号称为索引节点号(Inode Index). 硬链接 多个文件名指向同一个索引节点(一个文件有多个副本) 允许一 ...

  10. 枚举的基本使用方法 Enumerations

    枚举的基本使用方法 Enumerations Enumeration  enum SomeEnumeration{ case enumeration1 case enumeration2 case   ...