阅读 805

玩转iOS开发:搭建Mac OS本地SVN服务器

文章转至我的个人博客: https://cainluo.github.io/14785314208383.html


作者感言

在前一段时间, 没网的情况下写项目, 发现一件很蛋疼的事, 居然不知道怎么版本管理了, 灵光一闪, 自己搭建个本地SVN服务器吧, 于是乎这文章就出来了

**最后:** **如果你有更好的建议或者对这篇文章有不满的地方, 请联系我, 我会参考你们的意见再进行修改, 联系我时, 请备注**`搭建Mac OS本地SVN服务器`**如果觉得好的话, 希望大家也可以打赏一下~嘻嘻~祝大家学习愉快~谢谢~**

创建SVN服务器

首先我们要创建一个SVN服务器存放夹, 这里我的地址是如下:

    sudo svnadmin create /Users/imac/Documents/svn/MyCode
复制代码

1


配置SVNServe.conf文件

创建完之后, 就需要配置一下SVN, 我这里比较习惯使用Vim. 在我机子上的目录是如下:

sudo vim /Users/imac/Documents/svn/MyCode/conf/svnserve.conf 
复制代码

输入完之后, 需要开放几个参数, 一定要把他们前面的**#号和空格**都删掉.

  • anon-access = none(默认为read, 修改改成none)
  • auth-access = write
  • password-db = passwd
  • authz-db = authz

2


配置Passwd文件

配置完svnserve.conf文件之后, 就继续来配置passwd文件:

    sudo vim /Users/imac/Documents/svn/MyCode/conf/passwd 
复制代码

这里我们只需要添加一个用户名和密码就可以了, 毕竟就只有自己在用而已.

    admin=123456
复制代码

3


配置Authz文件

配置完前面两个文件, 下面这个文件配置完就搞定了

    sudo vim /Users/imac/Documents/svn/MyCode/conf/authz
复制代码
[groups]

admins=admin

[/]
@admins=rw
复制代码

4


启动SVN服务器

配置了那么多, 最重要的重头戏来了, 就是启动我们的SVN服务器

    svnserve -d -r /Users/imac/svn/MyCode
复制代码

如果输入之后, 终端一点提示都没有, 那就代表SVN服务器已经启动成功了.


关闭SVN服务器

有启动, 当然也有关闭

    sudo killall svnserve
复制代码

或者是打开活动监视器搜索之后在咔擦掉

5


首次导入工程文件到SVN服务器

SVN服务器弄好了, 现在就是要导入工程文件到服务器去了

    svn import /Users/imac/Documents/AFNetworking svn://localhost/MyCode --username=admin --password=123456 -m "初始化导入"
复制代码

这里解释一下这条命令是啥意思:

  • /Users/imac/Documents/AFNetworking这一段指的是需要导入的工程文件.
  • svn://localhost/MyCode指的是把工程文件上传到MyCode这个目录下.
  • --username=admin --password=123456指的是校验用户名和密码.
  • **-m "初始化导入"**指的是提交的信息.

从SVN服务器下载工程文件到本地

上传工程我们已经知道了, 那下载工程我们也来说一说.

    svn checkout svn://localhost/mycode --username=admin --password=123456 /Users/imac/Documents/code
复制代码

这里就不解释了和上面那条命令意思差不多.


二次提交代码到服务器

二次提交是有一个前提的, 那就是你首先需要在SVN服务器上下载代码到本地, 然后再去修改这一份代码, 才能够二次提交. 首先我们得去到工程目录:

    cd /Users/imac/Documents/code
复制代码

然后再输入命令:

    svn commit -m "修改部分代码"
复制代码

这样子就可以把**/Users/imac/Documents/code这个目录下所有修改过的代码都提交到服务器 这些都是基于终端操作的情况来说的, 我这里推荐使用Cornerstone**, 更加的简单方便, 至于哪里有免费版, 大概可以去百度搜一搜, 一堆一堆的~~


权限错误

如果你在导入工程时候出现E000013的错误, 如下:

svn: E000013: Can't open file '/Users/xxx/Documents/svn/XXX/db/txn-current-lock': Permission denied
复制代码

这个错误一般来说就是你的svn文件夹权限没开放, 只要进入到你的SVN目录下, 输入下面的命令就可以解决这个问题了. 我这边的目录是**/Users/imac/Documents/svn/MyCode**

6

    /*MyCode就是你创建SVN服务器的文件夹*/
    sudo chown -R $(id -u):$(id -g) MyCode
    chmod -R u+w MyCode
复制代码
关注下面的标签,发现更多相似文章
评论