• Mac下搭建SVN服务器


    1.检查机器上是否安装svnserve

     1 zhangdeqiangdeiMac:Downloads hengjiang$ svnserve --version
     2 svnserve, version 1.9.3 (r1718519)
     3    compiled Feb 19 2016, 20:19:36 on x86_64-apple-darwin15.3.0
     4 
     5 Copyright (C) 2015 The Apache Software Foundation.
     6 This software consists of contributions made by many people;
     7 see the NOTICE file for more information.
     8 Subversion is open source software, see http://subversion.apache.org/
     9 
    10 The following repository back-end (FS) modules are available:
    11 
    12 * fs_fs : Module for working with a plain file (FSFS) repository.
    13 * fs_x : Module for working with an experimental (FSX) repository.
    14 
    15 Cyrus SASL authentication is available.

    2.在当前目录下创建一个SVN仓库

     1 zhangdeqiangdeiMac:Users hengjiang$ sudo svnadmin create SVN 

    3.创建成功以后会自动生成一个仓库文件,需要对其子目录conf里的文件作配置

    1 zhangdeqiangdeiMac:Users hengjiang$ ls
    2 SVN        Shared        hengjiang
    3 zhangdeqiangdeiMac:Users hengjiang$ cd SVN
    4 zhangdeqiangdeiMac:SVN hengjiang$ ls
    5 README.txt    conf        db        format        hooks        locks
    6 zhangdeqiangdeiMac:SVN hengjiang$ cd conf
    7 zhangdeqiangdeiMac:conf hengjiang$ ls
    8 authz        hooks-env.tmpl    passwd        svnserve.conf
    9 zhangdeqiangdeiMac:conf hengjiang$ sudo nano svnserve.conf
    svnserve.conf 里的内容  一定注意  这个文件里对每一个字符都很敏感   有的地方需要空格  有的地方坚决不能有空格  #号表示注释
    1 [general]
    2 anon-access = read
    3 auth-access = write
    4 password-db = passed
    5 authz-db = author
    6 //注意这些代码都是顶格写   没空格   等号前后各一个空格   后边不要加注释

    passwd里边的

    1 //注意这个地方是设置密码    第一个用户是admin   密码是admin
    2 //第二个用户是nameforzhangjie   密码是passwdforzhangjie
    3 [users]
    4 # harry = harryssecret
    5 # sally = sallyssecret
    6 admin = admin
    7 nameforzhangjie = passwdforzhangjie

    第三个是authz文件  设置权限的一个文件

     1 //权限设置  管理员权限是叫admin的用户     普通用户是叫nameforzhangjie的用户
     2 //[/]表示根目录的意思    rw  是readandwrite的意思
     3 
     4 [groups]
     5 # harry_and_sally = harry,sally
     6 # harry_sally_and_joe = harry,sally,&joe
     7 
     8 admin = admin
     9 user = nameforzhangjie
    10 
    11 [/]
    12 admin = rw
    13 user = rw
    14 
    15 
    16 [SVN:/]
    17 admin = rw
    18 user = rw

    4.启动服务器

    zhangdeqiangdeiMac:conf hengjiang$ sudo nano authz
    
    //启动服务器,sudo是当前目录不在电脑用户权限之内,是在根目录上,所以用管理员权限去操作。 -d -r 是启动参数 不能错  SVN 是要启动的服务器名。。后边的那个--listen-host 192.168.1.47是服务器的网络地址   加这个参数以后只要是同一个网段的电脑可以直接访问他
    zhangdeqiangdeiMac:conf hengjiang$ sudo svnserve -d -r SVN --listen-host 192.168.1.47

    一般默认的这个本地服务器端口号是3690,可以测试一下

    1 zhangdeqiangdeiMac:conf hengjiang$ telnet localhost 3690
    2 Trying 127.0.0.1...
    3 telnet: connect to address 127.0.0.1: Connection refused
    4 Trying ::1...
    5 telnet: connect to address ::1: Connection refused
    6 telnet: Unable to connect to remote host
    7 zhangdeqiangdeiMac:conf hengjiang$
    8 //这就是正常反应  开启成功了

    5.到桌面上创建一个本地的目录,其实是用于推到服务器上用的

    1 zhangdeqiangdeiMac:~ hengjiang$ cd Desktop/
    2 zhangdeqiangdeiMac:Desktop hengjiang$ ls
    3 23GamesNetwork                    test
    4 3E6A2DDE-1113-40B6-8127-F61D8EEEBFB5.png    testDemo2
    5 a
    6 zhangdeqiangdeiMac:Desktop hengjiang$ mkdir -p Q
    7 //创建本地目录Q  并且在Q里边创建经典目录结构tags trunk branches三个文件夹
    8 zhangdeqiangdeiMac:Desktop hengjiang$ cd Q
    9 zhangdeqiangdeiMac:Q hengjiang$ mkdir tags trunk branches

    6.把本地建的目录结构推到服务器上去

    1 //'first init'是这次操作的标志
    2 //Q是要推上去的文件目录,因为现在本来就在桌面上,所以直接这样写就可以了
    3 //后边的svn://192.168.1.47:3690/SVN是svn服务器地址  (本地IP:端口号/svn目录)
    4 zhangdeqiangdeiMac:Desktop hengjiang$ sudo svn import -m 'first init' Q svn://192.168.1.47:3690/SVN

    7.再然后,就可以checkout了,之后就可以正常使用了。

     1 zhangdeqiangdeiMac:Desktop hengjiang$ svn co svn://192.168.1.47:3690/SVN 

    需要注意的几点问题,svn服务器一旦开启他就存在了,哪怕你把服务器文件删除了也是存在的    这时候用 1 zhangdeqiangdeiMac:Desktop hengjiang$ sudo killall svnserve 来杀死所有服务器程序,之后再开启。如果有正在运行的项目,不能杀死的话那就只能使用另外的端口了。

    还有一件事,小伙伴们一定要注意,svn服务器默认.a文件为隐藏文件,上传的时候会忽略需要手动添加到工作区间进行上传。一定切记

  • 相关阅读:
    1061. 判断题(15)
    1031. 查验身份证(15)
    1006. 换个格式输出整数 (15)
    1046. 划拳(15)
    1001. 害死人不偿命的(3n+1)猜想 (15)
    1021. 个位数统计 (15)
    1054. 求平均值 (20)
    写出这个数 (20)
    设计模式之中介者模式
    kill命令
  • 原文地址:https://www.cnblogs.com/huketianxia/p/5285297.html
Copyright © 2020-2023  润新知