• linux 安装并配置版本库subversion 实战教程


    linux 安装并配置版本库subversion 实战教程
           一.安装
      yum install subversion
      二.配置
      本系统采用为每个项目单独建一版本库的策略。配置文件,密码文件,访问控制文件等都放在版本库的conf目录下。
      所以每次开始一个新项目都必须新建一个版本库,并重新配置各配置文件。还有很重要的一条,要求各组员重新配置客户端,包括服务器版本库路径,本地路径等信息。
      1. 建立版本库目录(可建立多个,新建库后以下各项都需重新配置。注意区别安装目录与版本库目录,以下讲的都是版本库目录)
      mkdir –p /home/svn/repos
      #类似可以创建 mkdir –p /home/svn/repos /home/svn/repos1
      2. 建立svn版本库(与上面目录对应)
      svnadmin create /home/svn/repos(同一个服务器ip地址,我们可以建立多个版本库,比如我们可以同时建立一个名字为repos2的版本库,svnadmin create /home/svn/repos1)
      执行此命令后svn自动在repos目录下添加必须的配置文件.
      注意:版本库不同于一般的文件夹, 直接在操作系统上新建文件无法被SVN识别, 必须使用import等命令将文件导入版本库.
      此为svn内部指令,create用于新建版本库。请使用svn help查看详细说明。
      3. 修改版本库配置文件
      vi /home/svn/repos/conf/svnserve.conf
      各参数功能在配置文件的注释中有说明, 此处配置如下:
      [general]
      anon-access = none # 使非授权用户无法访问
      auth-access = write # 使授权用户有写权限
      password-db = passwd # 指明密码文件路径
      authz-db = authz # 访问控制文件
      realm = /home/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
      其它采用默认配置. 各语句都必须顶格写, 左侧不能留空格, 否则会出错.
      4. 配置用户(svn修改用户名或权限或密码后无需重启立即生效)
      vi /home/svn/repos/conf/passwd
      输入以下内容:
      [users]
      username1 = password1
      username2 = password2
      可以添加多个,此为用户名密码对。
      5. 配置权限(svn修改用户名或权限或密码后无需重启立即生效)
      vi /home/svn/repos/conf/authz
      此配置文件设置各用户的授权。
      包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,具体请参考svn手册,以下是简单例子:
      #对仓库repos根目录权限设置
      [repos:/]
      user1 = rw
      user2 = r
      6. 使用import导入文件
      新建好的版本库是空的,需要导入工作目录。
      //这条语句将把路径/home/user/code下找到的文件导入到你创建的 Subversion 仓库中去
      svn import /home/code/ file:///home/svn/repos/ -m “注释”
      三.启动服务
      svnserve -d -r /home/svn/(注意这里启动服务的目录地址,是在svnadmin 命令 新建版本库的父级目录)
      四 客户端初始化与更新等操作(客户端操作svn库的地址,是从svnserver命令启动的目录(不包括该启动目录本身的名字)为根目录开始谢写的,而不是从svnadmin命令对应的目录为根目录,svnadmin对应的版本库名,当客户端访问该版本库的时候,那么该版本库名应该包含在 客户端访问该svn当前版本库的svn 路径中)
                svn checkout svn://ip/repos (同一个服务器ip地址,我们可以建立多个版本库,比如初始化 svn checkout svn://ip/repos1,如svn checkout svn://101.200.90.101/web/centos7。需要注意的是,如上所示,我们实际更新下来的目录是包括且仅仅包括该svn路径中的最后一个目录的,比如我们在客户端进入 cd /var/www目录,执行svn checkout svn://101.200.90.101/web/centos7,那么我们在客户端的目录结构为/var/www/centos7/.....多个子孙目录及多个相关子孙文件,即不要重复在客户端手动新建centos7目录)
                svn update svn://ip/repos(客户端第一次载入初始化库用checkout,输入checkout后会让你输入账户密码的,以后用update更新文件,无需再次输入账户密码)

  • 相关阅读:
    03 Java 修饰符
    04_Java 循环结构 for, while 及 do...while
    01_Java第一个程序_报错记录
    07_Java StringBuffer 和 StringBuilder 类_(修改,并且不产生新的未使用对象)
    06_Math 的 floor,round 和 ceil 方法实例比较_格式化字符串_String类
    [爱偷懒的程序员系列]Section 1. “懒”是一切需求的根源
    (1)Micropython+ESP32 点亮一个LED
    数据迁移测试方法【转】
    回来了回来了,失踪人口回归
    [爱偷懒的程序员系列]Section 4. 自定义钉钉消息推送
  • 原文地址:https://www.cnblogs.com/qiangshangkeji/p/13756707.html
Copyright © 2020-2023  润新知