Mac OS下配置SVN

Mac OS下配置SVN

本篇文章内容来源于网络,仅作为日常记录与学习

1.查看Mac是否安装了svnserve

$ svnserve --version

2.创建仓库

$ svnadmin create 路径/目录

Mac OS下配置SVN_第1张图片
svn目录结构.png

3.配置SVN

进入svn/conf目录,修改配置文件svnserve.confpasswdauthz

svnserve.conf权限配置
打开svnserve.conf文件,去掉以下语句的注释(#

# anon 访问限制
# anon-access = read

# 用户限制
# auth-access = write

# 用户和密码权限配置文件名
# password-db = passwd
# authz-db = authz

其中权限配置:read/write/none

passwd账户配置
打开passwd文件,添加用户,格式:username = passwd

[users]
# harry = harryssecret
# sally = sallyssecret
test1 = 123456

authz用户组配置
打开authz文件,添加用户组,并设置访问权限

# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe

# [/foo/bar]
# harry = rw
# &joe = r
# * =

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

## 添加 SVN分组 = 用户1, 用户2
svn_group = test1, test2

## 设置根目录下 用户组权限
[/]
## @组名 = 可读写(rw)
@svn_group = rw

4.启动SVN服务

执行$ sudo svnserve -d -r /svn,如果没有任何输出,则SVN基本启动成功。

验证SVN服务是否启动成功
SVN的默认端口是3690,可以通过telnet localhost 3690命令测试链接。

$ 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 inherited-props ephemeral-txnprops file-revs-reverse ) ) ) 

或者通过Mac的活动监视器查看svnserve是否启动,进程号为pid。

Mac OS下配置SVN_第2张图片
svn进程查看.png

5.关闭SVN

5.1 通过终端关闭SVN

# 查看svn进程号
ps aux | grep svn
gemas           66641   0.0  0.0  2432804    784 s000  S+    1:35下午   0:00.00 grep svn
gemas           66632   0.0  0.0  2444504    328   ??  Ss    1:33下午   0:00.00 /Applications/Xcode.app/Contents/Developer/usr/bin/svnserve -d -r /Users/apple/Desktop/svn

# 第一个参数 66641为进程号
# sudo kill -9 进程号
sudo kill -9 66641

5.2通过活动监视器关闭SVN
在活动监视器中,svn,选中进程,点击 “x”关闭

Mac OS下配置SVN_第3张图片
关闭svn服务.png

FAQ

传的文件放在SVN服务器的哪个目录下,上传svn服务器目录

1.上传的文件放在SVN服务器的哪个目录下
SVN服务器版本库有两种格式,一种为FSFS,一种为BDB。

把文件上传到SVN版本库后,上传的文件不再以文件原来的格式存储,而是被svn以它自定义的格式压缩成版本库数据,存放在版本库中。

如果是FSFS格式,这些数据存放在版本库的db目录中,里面的revs和revprops分别存放着每次提交的差异数据和日志等信息

2.怎把指定文件夹上传到SVN服务器?
一般来说新建项目是在服务器端操作的,每个项目作为一个独立的版本库进行管理。
当然你可以可以把这个项目当作服务器上某个版本库下面的一个文件夹进行管理,但是会导致这个项目的版本号看起来是不连续的,因为SVN是用版本号标注整个版本库的状态。
你如果确定想把这个项目当成某个版本库的一个文件夹进行管理的话,那么就这么做:
首先,用TSVN检出那个版本库到本地;
然后,将这个项目复制到本地这个版本库的某个文件夹下面;
最后,用TSVN增加并提交这个文件夹。

3.代码上传到svn 服务器后将代码存储在什位置了,怎么找不到
文件是以加密形式存在的,所以你看不到,只是一堆无序的文件

参考

Mac OS下配置svn(包括启动和关闭服务)

资料

使用Subversion进行版本控制
mac os 开机启动svn服务(svnserve)
局域网内的用户连接SVN
创建基于HTTP协议的SVN版本控制服务(Apache)

你可能感兴趣的:(Mac OS下配置SVN)