zoukankan      html  css  js  c++  java
  • Mac下搭建svn服务器和XCode配置svn

    先打开命令行终端。

    1、创建svn repository

    svnadmin create /yourpath/svnroot/repository

    进入下面目录配置svn用户权限。

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

    authz,passwd,svnserve.conf。。

    2、编辑配置文件 vi svnserve.conf 取消下列行的注释
    anon-access = read
    auth-access = read
    password-db = passwd (密码配置的保存文件)
    auth-db = authz (认证配置的保存文件)

     1 ### This file controls the configuration of the svnserve daemon, if you
     2 ### use it to allow access to this repository.  (If you only allow
     3 ### access through http: and/or file: URLs, then this file is
     4 ### irrelevant.)
     5 
     6 ### Visit http://subversion.tigris.org/ for more information.
     7 
     8 [general]
     9 ### These options control access to the repository for unauthenticated
    10 ### and authenticated users.  Valid values are "write", "read",
    11 ### and "none".  The sample settings below are the defaults.
    12 anon-access = read
    13 auth-access = write
    14 ### The password-db option controls the location of the password
    15 ### database file.  Unless you specify a path starting with a /,
    16 ### the file's location is relative to the directory containing
    17 ### this configuration file.
    18 ### If SASL is enabled (see below), this file will NOT be used.
    19 ### Uncomment the line below to use the default password file.
    20 password-db = passwd
    21 ### The authz-db option controls the location of the authorization
    22 ### rules for path-based access control.  Unless you specify a path
    23 ### starting with a /, the file's location is relative to the the
    24 ### directory containing this file.  If you don't specify an
    25 ### authz-db, no path-based access control is done.
    26 ### Uncomment the line below to use the default authorization file.
    27 authz-db = authz
    28 ### This option specifies the authentication realm of the repository.
    29 ### If two repositories have the same authentication realm, they should
    30 ### have the same password database, and vice versa.  The default realm
    31 ### is repository's uuid.
    32 # realm = My First Repository
    33 
    34 [sasl]
    35 ### This option specifies whether you want to use the Cyrus SASL
    36 ### library for authentication. Default is false.
    37 ### This section will be ignored if svnserve is not built with Cyrus
    38 ### SASL support; to check, run 'svnserve --version' and look for a line
    39 ### reading 'Cyrus SASL authentication is available.'
    40 # use-sasl = true
    41 ### These options specify the desired strength of the security layer
    42 ### that you want SASL to provide. 0 means no encryption, 1 means
    43 ### integrity-checking only, values larger than 1 are correlated
    44 ### to the effective key length for encryption (e.g. 128 means 128-bit
    45 ### encryption). The values below are the defaults.
    46 # min-encryption = 0
    47 # max-encryption = 256

    注意删除后上面不要留空格,不然会报错:

    1 .subversion/config:94: Option expected  

    3、编辑密码配置文件 vi passwd

     1 ### This file is an example password file for svnserve.
     2 ### Its format is similar to that of svnserve.conf. As shown in the
     3 ### example below it contains one section labelled [users].
     4 ### The name and password for each user follow, one account per line.
     5 
     6 [users]
     7 # harry = harryssecret
     8 # sally = sallyssecret
     9 #username = password
    10 hilary=3113

    4、编辑认证文件 vi authz

    格式为 [groups]
    用户组名 = 用户组成员
    [需要授权的目录]
    @组名 = 权限
    用户名 = 权限

    ### This file is an example authorization file for svnserve.
    ### Its format is identical to that of mod_authz_svn authorization
    ### files.
    ### As shown below each section defines authorizations for the path and
    ### (optional) repository specified by the section name.
    ### The authorizations follow. An authorization 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 prefixing the rule with '~'. Rules can
    ### grant read ('r') access, read-write ('rw') access, or no access
    ### ('').
    
    [aliases]
    # joe = /C=XZ/ST=Dessert/L=Snake City/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
    # * =
    
    # [repository:/baz/fuz]
    # @harry_and_sally = rw
    # * = r
    test=hilary
    [/]
    hilary=rw

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

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

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

    [/]

    @harry_and_sally = rw

    * =

    5.启动svnserve
    svnserve -d -r /opt/svn/repos

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

    6、 将项目导入svn库.

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

    7、导出项目

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

    8、如果是别的机器做的服务器,需要将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

    9、有用的命令

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

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

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

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

    killall -9 svnserve

    10、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客户端好用得多。

    http://www.versionsapp.com

  • 相关阅读:
    Mysql中Unsigned和Zerofill数据型的使用
    laravel Excel导入导出
    saas的资料
    Mysql的row_format(fixed与dynamic)
    第七节 css3动画之transform位移
    第六节 css3动画之transform变换
    第五节 css3动画之图片说明滑入效果
    第四节 css3动画之transition
    第三节 css3动画之透明
    第二节 css3动画之圆角
  • 原文地址:https://www.cnblogs.com/ubersexual/p/3454994.html
Copyright © 2011-2022 走看看