小记Mac下搭建SVN服务器,现在没完成在其他Mac下访问自己搭建的SVN,往后实现了再做补充,如果有哪位大神已经弄好了,欢迎留言切磋!
1、创建一个代码库
svnadmin create ~/svn/myProject
2、在finder打开创建的代码库
/User/用户名/svn/myProject
3、打开svnserver.conf,打开如下注释,并修改设置如下:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
4、配passwd文件
在users下输入 : 用户名=密码(aaa=123)
5、配置authz文件
[groups]下面添加组名和用户名,添加用户(多个用户用","隔开)和设置用户权限(rw:可读可写)
PS:rw 代表可读写,显然只读就是 r 了
5.1、用户组前要用 @ 符号
@users = rw
5.2、如果是用户,直接写用户名就可以了
user1 = rw 回车 user2 = rw
如果在用户前面添加了@ 会报(本文 7.4)错误信息
6、启动SVN服务
在终端输入: svnserve -d -r /User/用户名/SVN路径
没有任何输出则启动成功
在“活动监控器”可查看到svnserve进程在内存中。
7、checkout 代码库SVN的内容
在终端输入如下:
svn checkout svn://localhost/ --username 用户名 --password 密码
checkout 成功会提示:Checked out revision 版本号
提示:7.1、'svn://192.168.0.151/SVN' doesn't exist
是你所给的URL不存在,URL写到电脑IP就可以了
7.2、URL正确了,提示 Can't create directory '/Users/a123456/SVNTest/.svn': Permission denied
是你checkout的目的文件夹没有访问权限,
7.3、使用如下命令修改访问权限 (同时也要打开代码库svn的权限)
sudo chmod -R 777 SVNTest/
7.4、如果提示
Unable to connect to a repository at URL 'svn://localhost'
Invalid authz configuration
可能是配置文件错了(我这边报错是因为在authz配置文件中组名是users, 后面设置权限时写成user,少了个s)
8、commit代码到SVN
svn ci -m "提交信息"
提示:
8.1、Can't open file '/Users/a123456/SVN/db/txn-current-lock': Permission denied
是SVN权限没有开放,操作如下
使用如下命令修改SVN库下txn-current-lock的权限,db的权限也一起开放
sudo chmod -R 777 SVN/db
sudo chmod -R 777 SVN/db/txn-current-lock
9、查找SVN路径url
进入到checkout的代码文件,执行如下:
svn info
10、checkout冲突提示
Select: (p) postpone, (r) mark resolved, (tf) their version,
(s) show all options:
p : 拉取 上次更新的版本 和 其他人上传的版本,生成两个文件
r:冲突已解决,放弃其他人上传的内容,使用自己现在的
tf:放弃自己修改的内容,使用其他人的修改
s:在终端展示这些选项的解析信息
11、同一台设备同时创多个SVN服务器问题
11.1、一个设备同时只能运行一个svnserve进程,所以无法同时开启多个SVN(自己瞎搞的)
11.2、切换SVN代码库,关闭原先的svnserve进程,在目标SVN代码库文件下重新开启svnserve服务
11.3、其他操作同上流程
12、忽略SVN全局文件
修改/用户名/.subversion/config文件
打开 global 注释 ,并添加如下:
global-ignores
= *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.pyc *.pyo *.rej .DS_Store
*.xcuserstate *.xcworkspace *.xcuserdatad *.xcscmblueprint *~ #*# .#* .*.swp
参考文献:
1、Mac 搭建 SVN 服务器环境(原创)
https://cnbin.github.io/blog/2015/06/13/mac-da-jian-svn-fu-wu-qi-huan-jing/
2、出现Permission denied的解决办法
http://blog.csdn.net/sinat_33363493/article/details/52734746
3、安装SVN服务端(Subversion)解决的问题(如:url 'svn://192.168.1.123/src/' doesn't exist)
http://blog.csdn.net/h_o_w_e/article/details/53465787
4、SVN常用命令之checkout
http://blog.csdn.net/gengxiaoming7/article/details/50512195
5、SVN中文提示(错误提示总结)
http://blog.csdn.net/zgmzyr/article/details/6567239