Mac 搭建SVN服务器 - 小记

        小记Mac下搭建SVN服务器,现在没完成在其他Mac下访问自己搭建的SVN,往后实现了再做补充,如果有哪位大神已经弄好了,欢迎留言切磋!

1、创建一个代码库

        svnadmin create ~/svn/myProject


2、在finder打开创建的代码库

        /User/用户名/svn/myProject

Mac 搭建SVN服务器 - 小记_第1张图片
Mac 搭建SVN服务器 - 小记_第2张图片


3、打开svnserver.conf,打开如下注释,并修改设置如下:

        anon-access = none

        auth-access = write

        password-db = passwd

        authz-db = authz


4、配passwd文件

        在users下输入 : 用户名=密码(aaa=123)

Mac 搭建SVN服务器 - 小记_第3张图片

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

Mac 搭建SVN服务器 - 小记_第4张图片


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

你可能感兴趣的:(Mac 搭建SVN服务器 - 小记)