Mac系统已经自带了svn我们已经不需要安装svn服务器了.
1、打开terminal可以使用如下命令确定我们的Mac OS系统确实已经安装了svnserve。
svnserve --version
2、创建仓库
新建一个目录 mkdir svn
创建仓库 svnadmin create svn/repos
3、配置
首先修改conf文件夹下的svnserve.conf文件内容如下
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
[sasl]
接下来修改conf下的passwd文件在[users]后面加入一下内容
administrator = admin@Svnserver
ming = ming
这里添加了两个用户并分别设置了密码
接下来修改conf下的authz文件设置权限
[groups]
admin = administrator
user = ming
[/]
@admin = rw
@user = r
#administrator = rw
#ming = r
[local:/]
@admin = rw
@user = r
简单解释一下这个配置首先定义了两个组admin 和 user
admin这个组里面有administrator这个用户一个组里面可以有多个用户多个用户用逗号隔开
user这个组里面有ming这个用户当然不是一定要把用户归到某个组里面 我这么做是为了方便设置权限。
然后设置了根目录的权限要说明一下这个 / 目录是指我的/svn/repos目录。
然后设置了我的local这个仓库的根目录权限是读是写。
4、启动SVN
sudo svnserve -d -r /svn/repos
Ok,svn默认使用3690端口如果端口不冲突svn服务应该就正常起来了简单的测试一下
telnet localhost 3690
5 项目导入到svn库
svn import hello svn://localhost/svn/repos/hello --username administrator --password admin@Svnserver -m "init import"
6 工作目录创建
svn checkout svn://localhost/svn/repos/hello
--username=administrator --password=admin@Svnserver
checkout的项目会在import的路径中生成。
原文博客地址http://www.xuebuyuan.com/2068880.html
参考博客地址http://blog.csdn.net/greenbird811/article/details/7312517
补充说明
1、接下来用SmartSVN checkout就好了地址为svn://localhost/svn/repos/hello
2、第5步一定不能省略否则SmartSVN无法checkout成功。猜测repos只是一个“仓库”而checkout出来的一定要是一个文件夹目录之类才行。
3、第2步中我创建的文件夹为LocalProjectsrepository创建的命令为
svnadmin create LocalProjects/repos
但是svn路径仍未svn://localhost/svn/repos/hello而非svn://localhost/LocalProjects/repos/hello
第5步我使用的代码如下
svn import LocalProjects svn://localhost/svn/repos/projects --username administrator
--password admin@Svnserver -m "init import"
4、用SmartSVN checkout进行本地目录选择的时候可以仍选择LocalProjects.
5、如果使用SmartSVN(svn客户端)时显示不了log信息,那么有可能是log cache路径读取错误,解决方法如下(SmartSVN为例):
(1)Project->Manage Log Caches,在弹出的对话框里删除对应的log cache。
(2)刷新Transactions信息:
这时候由于之前删除了log cache,因此会弹出提示框让用户重新制定log cache路径:
选择下边一项,更改路径。之前是svn://localhost/svn/repos,没有log信息,这里改为svn://localhost/svn,即回到上层路径。点击Create Cache。
(3)完成了(2)的操作步骤后,一般会提示类似于:“svn://localhost/svn/repos: E220001: Item is not readable”之类的提示。这时找到SVN server的配置文件svnserve.conf打开,在文件中找到如下字段:
将anon-access 改为“none”即可。