• Mac下搭建svn服务器和XCode配置svn


    先打开命令行终端。

    1、创建svn repository

    svnadmin create /yourpath/svnroot/repository

    2、配置svn用户权限。

    / yourpath /svnroot/repository/conf/目录下存在3个文件:

    authz,passwd,svnserve.conf。。

    1)svnserve.conf:

    将里面的

    # anon-access = read

    # auth-access = write

    # password-db = passwd

    ……

    # authz-db = authz

    四行前的#号去掉,再将anon-access = read改为anon-access = none(禁止匿名访问,这里如果不改的话,会出现无法读取日志,比如在Mac上用Versions软件时,读不了时间线Timeline)。在#号后是有空格的,也得去掉,让文字顶格。

    如果不使用authz-db = authz则不需要去掉该行的#号,也不需要配置第3)步的authz文件。

    修改后如下:

    anon-access = read

    anon-access = none

    auth-access = write

    password-db = passwd

    ……

    authz-db = authz

    2)passwd:

    按示例添加用户名和密码

    ### This file is an example password filefor svnserve.

    ### Its format is similar to that ofsvnserve.conf. As shown in the

    ### example below it contains one sectionlabelled [users].

    ### The name and password for each userfollow, one account per line.

    [users]

    harry = harryssecret

    sally = sallyssecret

    3)authz:

    ### This file is an example authorizationfile for svnserve.

    ### Its format is identical to that ofmod_authz_svn authorization

    ### files.

    ### As shown below each section definesauthorizations for the path and

    ### (optional) repository specified by thesection name.

    ### The authorizations follow. Anauthorization line can refer to:

    ### - a single user,

    ### - a group of users defined in a special [groups] section,

    ### - an alias defined in a special [aliases] section,

    ### - all authenticated users, using the '$authenticated' token,

    ### - only anonymous users, using the '$anonymous' token,

    ### - anyone, using the '*' wildcard.

    ###

    ### A match can be inverted by prefixingthe rule with '~'. Rules can

    ### grant read ('r') access, read-write('rw') access, or no access

    ### ('').

    [aliases]

    # joe = /C=XZ/ST=Dessert/L=SnakeCity/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

    [groups]

    harry_and_sally =harry,sally

    # harry_sally_and_joe =harry,sally,&joe

    # [/foo/bar]

    # harry = rw

    # &joe = r

    # * =

    ### 对所有版本库的权限设置用[/]

    ### group名称前要加@,用户名不加。

    * = 是为所有人设置权限,这里是设置其他所有人没有读写权限。

    [/]

    @harry_and_sally = rw

    * =

    # [repository:/baz/fuz]

    # @harry_and_sally = rw

    # * = r

    3、启动服务器。

    svnserve -d -r / yourpath/svnroot/repository

    没有任何提示就说明启动成功了。

    4、 将项目导入svn库.

    svn import /ProjectPathYouNeedToImport/  svn://localhost/svnroot/respository/ProjectName --username username --password password -m "comment information"

    5、导出项目

    svn checkout svn://localhost/svnroot/respository/ProjectName --username=username--password=password  /ThePathCheckoutTo/

    6、如果是别的机器做的服务器,需要将localhost替换为服务器路径。

    可编辑如下文件,添加名称到ip地址的映射。

    sudo vi /etc/hosts

    如添加红色部分

    ##

    # Host Database

    #

    # localhost is used to configure theloopback interface

    # when the system is booting.  Do not change this entry.

    ##

    127.0.0.1        localhost

    255.255.255.255      broadcasthost

    ::1             localhost

    fe80::1%lo0   localhost

    192.168.14.1 svnip

    7、有用的命令

    svn ls svn:// svnip/svnpath 可以查询snv仓库内容

    lsof -i :3690 查看svn是否启动

    ps aux | grep ‘svn’ 查找所有svn启动的进程id

    kill -9 pid 将pid替换为上面查到的进程id可以杀掉svn进程

    8、XCode配置svn

    1)打开XCode

    2)打开organizer,在左下角点+号,点AddRepository…

    3)在弹出的界面中:

    name可以随便起,Location输入为svn:// svnip/svnpath/ProjectName(路径名称什么的),按提示操作完成。

    4)点organizer,在左下角点+号,点Checkoutor Clone Repository…

    5)在弹出的界面中:

    Location输入svn:// svnip/svnpath/ProjectName,点击Checkout,在弹出的界面中选择想要保存到哪个路径。

    这样就在本地得到了一份svn服务器上的项目,可以修改,更新,提交代码了(更新提交的操作在XCode菜单-->[File]-->[Source Control]下面)。

    XCode自带的svn管理功能在update和cimmit时经常出问题,不知道是不是我使用方式不对。所以特别推荐一个svn客户端工具Versions,个人觉得比XCode自带的svn客户端和svn X客户端好用得多。

  • 相关阅读:
    55最佳实践系列:Logging最佳实践
    关于 Multiget hole:spymemcached对此的实现方法
    Java两则故障分析和常见连接超时时间
    spymemcached :某个mc节点操作连续超时超过998次就 AutoReconnect 的特性
    最佳实践系列:前端代码标准和最佳实践
    随手小记:PHPFPM模式下PHP最大执行时间、Pragma和postcheck
    Storm 是如何跟踪一条消息以及它衍生出来的消息都被成功处理的
    Tumblr的消息通知系统是如何构建的
    职业化之可以固化的六个工作模式
    三个实例演示 Java Thread Dump 日志分析
  • 原文地址:https://www.cnblogs.com/fengmin/p/5015812.html
Copyright © 2020-2023  润新知