在以往的项目中,有些项目需要自己独立开发,为了方便代码的管理,自己尝试建了一个本地的svn服务器,事隔良久记录一下。以下username均为你Mac的用户名
1. 首先我们要建一个svn的目录
mkdir /Users/username/svn
2. 创建仓库
svnadmin create /Users/username/svn/mycode
在这一步完成后,你会发现mycode中有6个文件
3. 配置conf
在conf文件中存在三个文件(authz,passwd,svnserve.conf),现在依次配置:
(1)svnserve.conf:
以此把下面配置项的#和空格都去掉, anon-access = read 代表匿名访问的时候是只读的,
若改为 anon-access = none 代表禁止匿名访问,需要帐号密码才能访问
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
(2)passwd:
在[users]下添加账号和密码.比如
[users]
pt = 123
pt01 = 123
此处对应的就是用户名(pt,pt01)和密码(123,123)
(3)authz:
打开authz,配置用户组和权限:
我们可以将在passwd里添加的用户分配到不同的用户组里,以后的话,
就可以对不同用户组设置不同的权限,没有必要对每个用户进行单独设置权限。
在[groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开
[groups]
NewGroup = pt,pt01
pt,pt01都是NewGroup这个组的,然后进行权限设置
使用[/]代表svn服务器中的所有资源库
[/]
@ NewGroup = rw
上面的配置说明NewGroup这个组中的所有用户对所有资源库都有读写(rw)权限,
组名前面要用@,如果是用户名,不用加@,比如Pt这个用户有读写权限
[/]
pt = rw
4. 启动svn服务器:
在终端输入 sudo svnserve -d -r /Users/username/svn 没有任何提示就说明启动成功了,
你可以在活动监视器中搜索svnserve,就可以看到这个进程
你也可以简单的测试一下:输入 telnet localhost 3690 会出现一下字段:
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops atomic-revprops partial-replay ) ) )
5. 从本地导入项目到服务器
在终端输入
sudo svn import /Users/username/Desktop/test svn://localhost/mycode/filename --username=pt --password=123 -m "初始化导入"
filename就是svn中你项目的名字,一般这个名字就是你上传的文件名字
6. 下载使用项目
自己使用的时候下载:
svn checkout svn://localhost/mycode/filename
其他人也可以使用,使用的时候,要保证在一个局域网内,然后把localhost改成你本机的IP就好了。
网友评论