zoukankan      html  css  js  c++  java
  • SVN安装配置管理

    一、准备工作
    1、获取 Subversion 服务器程序到官方网站(http://subversion.tigris.org/)下载最新的服务器安装程序。目前最新的是1.6.4版本,具体下载地址在:http://subversion.tigris.org/servlets/ProjectDocumentList,注意找for apache 2.2.x 版本的。


    2、获取 TortoiseSVN 客户端程序 从官方网站 http://tortoisesvn.net/downloads 获取最新的TortoiseSVN 。TortoiseSVN 是一个客户端程序,用来与 subversion 服务器端通讯。Subversion 自带一个客户端程序 svn.exe ,但 TortoiseSVN 更好操作,提高效率。

    二、安装服务器端和客户端

    1.首先安装 Subversion 服务器程序,其次安装 TortoiseSVN 客户端程序。(如果你下载的服务器端是个zip版就需要手动设置系统变量),直接解压缩即可,比如我解压到 E:\subversion(还要配环境变量) 。客户端安装文件是个 exe 可执行文件,直接运行按提示安装即可,客户端安装完成后提示重启。

    三、建立版本库(Repository)

    1.运行Subversion服务器需要首先要建立一个版本库(Repository)。版本库可以看作是服务器上集中存放和管理数据的地方。开始建立版本库。首先建立 E:\svn 空文件夹作为所有版本库的根目录。

    可以使用 TortoiseSVN 图形化的完成这一步:

      先建立空目录 E:\svn\Repository,注意一定是要空的。然后在 Repository 文件夹上“右键->TortoiseSVN->Create Repository here...”,就创建了一系列文件夹和文件。

    或用命令的创建:

      svnadmin create E:\svn\Repository[svnadmin create <仓库路径>*在<仓库路径>上创建svn仓库]创建完毕后会在目录下生成若干个文件和文件夹,dav目录是提供给Apache与mod_dav_svn使用的目录,让它们存储内部数据;db目录就是所有版本控制的数据文件;hooks目录放置hook脚本文件的目录;locks用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端;format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号

    四、运行独立服务器

    1.进入命令行并切换到subversion的bin目录,运行指令svnserve -d -r E:\svn\Repository,(-d可写为--daemon,-r可写为--root  注意:这是临时打开的服务,命令执行后不能关闭窗口),可以建立一个批处理文件并放在windows启动组中便于开机就运行SVN服务,或者在这个地址http://clanlib.org/~mbn/svnservice/下载那个svnservice.exe文件,拷贝到E:\svn\bin目录下,再从命令行下执行:

    svnservice -install --daemon --root "E:\svn\Repository" sc config svnservice start=auto
    net start svnservice

     或用后台服务的方式可以设置开机自动执行:

    D:\Program Files\Subversion\bin>sc create svnservice binpath="d:\Program Files\Subversion\bin\svnserve.exe --service -r E:\SVN\Repository"

    这样就可以用net svnservice stop 或者start来启动服务了,也可以在Sevices.msc来启动了

    五、配置用户和权限

    1.用文本编辑器打开‘E:\svn\Repository\conf’目录,修改svnserve.conf:

    *去掉前面的#注释符,注意前面不能有空格(注意:问题就出在这,一定要注意格式去掉注释后要顶格不能有空)

    password-db = passwd--密码文件名字,不要改动其值,因为上层目录中有个与之对应的passwd文件
    anon-access = none --不允许匿名访问,这个很重要,不然谁都能访问这个代码仓库了
    auth-access = write-- 允许提交修改

    2.然后修改passwd文件,增加一个帐号:
    将:
    [users]
    # harry = harryssecret
    # sally = sallyssecret
    增加帐号:
    [users]
    #harry = harryssecret
    #sally = sallyssecret
    test = test

    *开头#字符去掉,这是设置用户,一行一个,存储格式为“用户名= 密码”

    六、初始化导入

    1.下面就是将我们的项目导入到这个版本库,以后就由版本库管理我们的数据。我们的任何改动都回被版本库记录下来,甚至我们自己丢失、改错数据时版本库也能帮我们找回数据。
    比如,我在D:\root 下有个project文件夹,里面存放的是一个txt文件。在此文件夹上“右键 -> TortoiseSVN -> Import...” ,在弹出对话框的“URL of repository”输入“svn://localhost/Repository/project”。在“Import message”输入“导入整个留言簿”作为注释。

    2.点 OK 后要求输入帐号。我们在用户名和密码处都输入test 。完成后project中的内容全部导入到了svn://localhost/Repository/project。我们看到在E:\svn\Repository没有任何变化,连个project文件夹都没有建立,唯一的变化就是E:\svn\Repository容量变大了。实际上我们源project中的内容已经导入Repository版本库了,源project文件夹可以删除了。

    七、添加为系统服务

    @ECHOOFF
    ::======================================================================
    ::功能 : 通过简便快捷的方式安装 Subversion.
    ::初始化环境 %SVN_HOME%是系统环境变量中配置的SVN服务端安装文件位置
    ::
    ======================================================================
    SET svn_dir=%SVN_HOME%
    ECHO *** 安装 Subversion 服务 ***

    ::======================================================================
    ::创建服务
    ::
    ======================================================================
    ECHO+++ 创建资源库服务 +++
    ECHO 创建系统服务,这需要输入一些信息...

    :INPUT_SVC_NAME
    SET/P svc_name=请输入服务名 :
    ::服务名不能为空值
    if"%svc_name%"==""(
    ECHO 服务名不能为空,请重新输入。
    GOTO INPUT_SVC_NAME
    )
    ::查询服务是否存在,通过查找输出是否存在错误,"1060:"是发生错误是时输出的错误代码。
    SC QUERY "%svc_name%" | find"1060:">> NUL
    IF %errorlevel% ==1(
    ECHO 服务 "%svc_name%" 已经存在!请重新输入服务名。
    GOTO INPUT_SVC_NAME
    )
    ECHO.

    ::输入资源库信息
    :INPUT_REPOS
    SET/P repos=请输入资源库路径 :
    ECHO.

    ::创建服务
    ECHO 您使用以下信息创建 Subversion 服务 :
    ECHO 服务名称 : "%svc_name%"
    ECHO 资源库路径 : "%repos%"
    ECHO 正在创建服务...
    SC create %svc_name% binPath
    ="\"%svn_dir%\bin\svnserve.exe\" --service -r \"%repos%\"" depend= Tcpip start= auto| find"1060:">> NUL
    ECHO.
    IF %errorlevel% ==0GOTO SC_ERROR
    ECHO --- 创建服务成功! ---
    ECHO.
    ECHO.

    ::======================================================================
    ::
    生成操作批处理文件
    ::
    ======================================================================
    ECHO+++ 生成服务操作批处理 +++
    ECHO 服务操作批处理文件可以帮助您快速操作服务。
    SET bat_delete=DELETE_%svc_name%.BAT
    SET bat_start=START_%svc_name%.BAT
    SET bat_stop=STOP_%svc_name%.BAT
    ECHO 生成删除服务批处理 "%bat_delete%"...
    ::bat_delete
    ECHO@ECHOOFF> %bat_delete%
    ECHONET STOP %svc_name%>> %bat_delete%
    ECHO SC delete %svc_name%>> %bat_delete%
    ECHODEL %bat_start%>> %bat_delete%
    ECHODEL %bat_stop%>> %bat_delete%
    ECHODEL %bat_delete%>> %bat_delete%
    ECHOPAUSE>> %bat_delete%
    ::bat_start
    ECHO 生成运行服务批处理 "%bat_start%"...
    ECHO@ECHOOFF> %bat_start%
    ECHONETSTART %svc_name%>> %bat_start%
    ECHOPAUSE>> %bat_start%
    ::bat_stop
    ECHO 生成停止服务批处理 "%bat_stop%"...
    ECHO@ECHOOFF> %bat_stop%
    ECHONET STOP %svc_name%>> %bat_stop%
    ECHOPAUSE>> %bat_stop%
    ECHO.
    ECHO --- 生成服务操作批处理成功! ---
    ECHO.
    ECHO.

    ::======================================================================
    ::
    Finish
    ::
    ======================================================================
    ECHO### 所有操作成功! ###
    GOTOEND

    ::======================================================================
    ::
    错误段
    ::
    ======================================================================
    :ENV_ERROR
    ECHO --- 设置环境变量失败! ---
    GOTOEND

    :SC_ERROR
    ECHO --- 创建服务失败! ---
    GOTOEND

    :SC_INV_PORT
    ECHO 无效的端口号,请重新输入。
    GOTO INPUT_SVC_PORT

    :END
    PAUSE

    用客户端访问 格式:svn:\\服务器IP

  • 相关阅读:
    Jmeter 批量执行脚本之-----------Ant
    Linux之vi编辑器的使用
    Linux命令之-ps & kill
    Linux命令详解一:基础命令新建、删除、拷贝~~~
    Linux(Ubuntu)下安装jdk
    Lr-代理录制
    开通博客第一天
    找出列表中重复的元素及个数
    写一个密码校验程序,密码格式为含有大写、小写字母、数字,长度为8位
    创建数据,分页显示,输入要查看的页码,显示指定数据,每页显示10条数据
  • 原文地址:https://www.cnblogs.com/wen12128/p/1882631.html
Copyright © 2011-2022 走看看