zoukankan      html  css  js  c++  java
  • SVN版本控制安装配置说明

     

    版本控制好工具有SVN、CVS、VSS等多种,他们的优劣在此不说明,请网络参阅。

    SVN支持多种平台,此文仅描述Windows平台下使用说明。

    SVN客户包含客户端和服务端。Windows平台下客户端使用TortoiseSVN,而服务端可使用SubVersion或者VisualSVN Server。

    两者区别如下:

    1. SubVersion服务需要封装SVN Serve为Windows Service,才能自启动;
    2. SubVersion控制权限,需要通过修改配置文件;
    3. SubVersion想通过浏览器访问,需要安装配置Apache。

      而VisualSVN Serve集成了Subversion和Apache,省去了以上所有的麻烦。安装的时候SVN Server已经封装为windws service,Apache服务器的配置也只是在图像界面上,指定认证方式、访问端口等简单操作;另外,用户权限的管理也是通过图像界面来配置。

    本文描述内容针对SubVersion使用。因为要的就是原始、整洁和稳定,也更接近Linux使用方式。

    一、           下载安装

    1. 下载

    1. 服务器:Setup-Subversion-1.8.0-1.msi
    2. 客户端:TortoiseSVN-1.8.5.25224-win32-svn-1.8.8.msi
    3. Apache服务:httpd-2.2.25-win32-x86-openssl-0.9.8y.msi

      注意,此3个软件版本有可能不匹配。

    2. 安装

      一般情况下,Subversion服务器仅供局域网/本地使用,所以不需要Apache服务器。如需Apache服务器,可以参考《Apache服务安装及配置》。如出现无法安装msi文件,或许需要下载安装新windows installer。 

    1>     服务器安装

    1. 双击Setup-Subversion-1.8.0-1.msi,一直下一步,完成svn服务端软件安装。
    2. 配置系统环境变量Path新增D:Program FilesSubversionin(注意本文安装路径是D:Program FilesSubversion)。
    3. 进入DOS界面,输入svnserve.exe –version。以验证查看服务器软件安装是否成功。

    2>     客户端安装,双击TortoiseSVN-1.8.5.25224-win32-svn-1.8.8.msi,一直下一步,完成svn客户端软件安装。本文安装路径D:Program FilesTortoiseSVN。

    3>     不习惯TortoiseSVN英文菜单界面的朋友,可以下载TortoiseSVN中文语言包安装,如LanguagePack_1.8.4.24972-win32-zh_CN.msi,安装完成后,在TotoriseSVNà SettingsàGeneralàLanguage选择“中文”。

    二、           创建版本库

    首先创建一个空文件夹,如D:svnRoot,作为所有版本库的根目录,便于集中管理所有版本库。有两种方式可以创建版本库:

    第一种:TortoiseSVN方式创建。在D:svnRoot目录下,新建一个空文件夹,如D:svnRoot epose1,单击鼠标右键,选择“TortoiseSVN”à“Create repository here”完成创建

    第二种:SubVersion方式创建。在开始菜单运行cmd进入DOS界面,输入

                                svnadmin create D:svnRoot epose2                  (创建版本库)

    完成版本库创建。

    三、           启动SVN服务

      在服务器DOS界面,输入

                      svnserve.exe --daemon --root D:svnRoot                  (启动服务)

      可以写成svnserve.exe -d -r D:svnRoot。--daemon,表示svnserve将以守护进程方式运行,当关闭当前命令行窗口就会把svnserve stop了。使用SVN服务,命令行窗口需要服务器一直开着。我们可以通过svnserve -h来查看相关操作选项。

    四、           配置用户和权限

    1. 打开版本库D:svnRoot epose1confsvnserve.conf文件,把里面的被# 注释的password-db = passwd,去掉前面的 # 注释符,并且前面不能有空格。这样将会使用confpasswd文件作为密码数据库。
    2. 修改密码数据库passwd,添加user:

              [users]

              admin = 123                 (用户名 = 密码,一行一个account)

      ( 无需重启服务器,即可使用!如果提示“认证失败”,请检查此步骤的配置)

      此部分进一步详情可参考《SVN用户和权限配置》。

    五、           访问版本库

      接下来可以通过TortoiseSVN -> Repo-browser来查看版本库:在点击那个菜单项后弹出的URL对话框中输入

              svn://localhost/repos1                                              (访问版本库)

      这样就可以看见repos1版本库的目录结构了。其他电脑访问需要把localhost改成本机IP地址,其他电脑只需要安装TortoiseSVN客户端即可。

    注意:在此版本,本人测试先“svnserve.exe --daemon --root D:svnRoot”启动,再访问“svn://localhost/repos1”,提示无法访问。而是启动“D:svnRoot epose1”,再“svn://localhost”访问repose1版本库。

    六、           开始新的项目

    1. 添加新的文件到版本库Import

       选中待管理的文件所在文件夹,如E:codesNTPacket,単击鼠标右键,选择“TortoiseSVN”à“Import”à确定,在身份认证弹出框,输入passwd文件里正确的用户名和密码,即可上传成功。

    1. 签出版本库里面的项目Checkout

      选择一个空白地方或者新建一个空文件夹,単击鼠标右键,选择“SVN Checkout”,然后确认在身份认证弹出框,输入passwd文件里正确的用户名和密码,即可签出。

    1. 修改文件Commit及Update。Checkout到本地的文件,可以修改,修改后选中当前文件或其目录,鼠标右键,弹出菜单多出“SVN Update”及“SVN Commit”, Commit提交此次修改,Update重新下载服务器文件至本地。
    2. 导出版本库Export。checkout下载文件到本地后,与svn服务器有仍有状态关联,可以修改提交等。而export仅仅是下载文件到本地,之后与svn服务器没任何关联,修改后也无法提交。

    七、           服务自启动

      一般情况,启动SVN服务,需要每次执行步骤三,DOS窗口还必须一直开着。这样很不方便,可以把步骤三封装成Windows Service自启动。

    1. 新建一个空bat文件,如svnSer.bat,输入

    sc create svnlt binpath= ""D:Program FilesSubversioninsvnserve.exe" --service --root "D:SvnRoot epose2"" displayname= "Subversion Server" depend= Tcpip start= auto

      说明:a. svnlt为服务名;b. 赋值=左边没空格,右边有一个空格;c.注意路径中的”号及书写正确。

    1. 双击svnSer.bat文件,完成Windows Service注册。
    2. 启动svnlt服务有两种方式:第一种,重启电脑,svnlt服务会自启动;第二种,在DOS界面执行net start svnlt语句完成启动。

                net start svnlt                       (启动svn版本库服务)

                net stop svnlt                       (停止服务)

                sc delete svnlt                      (删除服务,后需重新注册svnlt服务)

    八、           多版本库与用户权限配置

    1. 多版本库结构

      一般情况,部门组织或开发团队有多个项目需要版本控制,可多个项目共用以一个版本库,也可以每一个项目对应一个版本库,建议用后者。

      SVNRoot为根目录,为MobilePlatform项目创建一个版本库,为KTCoder项目创建另一个版本库,项目KTCoder下有两文件夹Kernel和Business。

    1>     新建空目录D:SVNRoot;

    2>     cmd命令行,进入DOS界面执行svnadmin create D:svnRootMobilePlatform创建版本库MobilePlatform;

    3>     DOS界面执行svnadmin create D:svnRootKTCoder创建版本库KTCoder;

    4>     svnServe.exe –d –r D:svnRoot启动服务。TortoiseSVN Repository Browser 中URL栏输入svn://localhost/MobliePlatform访问MobilePlatform项目版本库,svn://localhost/KTCoder访问KTCoder项目版本库。

    1. 用户权限配置

      人员情况(权限举例):

    1. Lz,公司老总,分配只读所有文档的权限;
    2. Wfh,Zg,项目经理,分配自己管辖项目读写权限,及其他项目只读权限;
    3. Lyk,KTCoder项目核心开发人员,Kernel模块唯一开发者,Kernel读写,其他读写;
    4. Whx,KTCoder项目开发人员,Kernel模块只读,Business模块读写;
    5. Dgy,MobilePlatform项目开发人员;
    6. Fyh,svn管理员。

    1>     打开版本库下的confsvnserve.conf文件,删除下面几行的前面注释符#和空格。MobilePlatform版本库与KTCoder版本库一致处理。

            [general]

            # anon-access = read     à anon-access = none  //匿名访问,改成none

            # auth-access = write    à auth-access = write

            # password-db = passwd      à password-db = passwd //指定用户密码文件

            # authz-db = authz         à authz-db = authz      //指定权限文件

             可以指定上面两个文件的路径。

    2>     打开版本库下的KTCoderconf passwd文件,添加

              [users]

              Lz = 123

              Wfh = 123

              Zg = 123

              Lyk = 123

              Whx = 123

              Dgy = 123

              Fyh = 123

    3>     打开版本库下的KTCoderconf authz文件,添加

            [groups]

            g_vip = Lz, Wfh

            [KTCoder:/]

            @g_vip = rw

            Fyh = rw

            Lyk = r

            Whx = r     

            * =

            [KTCoder:/Kernel]

            Lyk = rw

            Fyh =

            [KTCoder:/Business]

            Whx = rw                       

      此authz文件权限分配结果是:

    1. Zg,Dgy, KTCoder项目无任何权限;
    2. Lz ,Wfh,整个项目所有文件读写权限;
    3. Lyk,Kernel读写,其他所有文件只读;
    4. Whx,Business读写,其他所有文件只读;
    5. Fyh, KTCoder、Business目录下文件读写,Kernel无权限。

    4>     a. 权限可以分组,“g_vip = Lz, Wfh”,然后给组分配权限“@g_vip = rw”;b. “*  = ”表示任何人没有权限;c. authz在本库下时,[KTCoder:/Kernel] 中的根目录可以写成[Kernel]

    SubVersion权限示例:http://coldtear.iteye.com/blog/28440

    5>     权限在文件目录间父子继承、联合,以子目录为准。

    九、           Apache服务安装及配置

    1. 双击httpd-2.2.25-win32-x86-openssl-0.9.8y.msi文件开始安装。

     

    1. 完成安装后,打开浏览器,输入地址http://localhost测试安装是否成功。

     

    1. 我的电脑à属性à高级à环境变量à系统环境变量Path新增“D:Program FilesApache Software FoundationApache2.2in”。
    2. 复制D:Program FilesSubversionin下的so文件至D:Program FilesApache Software FoundationApache2.2modules。

     

    1. 打开文件D:Program FilesApache Software FoundationApache2.2conf httpd.conf找到下面两行,去掉前面的注释符#。

                  #LoadModule dav_module modules/mod_dav.so

                  #LoadModule dav_fs_module modules/mod_dav_fs.so

           新增下面两行

                                    LoadModule dav_svn_module modules/mod_dav_svn.so

                  LoadModule authz_svn_module modules/mod_authz_svn.so

    1. httpd.conf文件末,新增下一段代码

                  <Location /svn>

                  DAV svn

                  SVNListParentPath on

                  SVNParentPath D:/SVNRoot

                  </Location>

            在浏览器中输入http://localhost/svn/可访问svnRoot下所有版本库文件。

     

    1. 如果需要启用用户验证及其权限分配,添加如下

                <Location /svn>

                DAV svn

                SVNListParentPath on                               ‘如注销,则无法访问

                SVNParentPath D:/SVNRoot

                AuthzSVNAccessFile D:/SVNRoot/myAccess

                #Satisfy Any                                             ‘不认证时是否显示一级目录

                AuthType Basic

                AuthName "SubVerion LTong"

                AuthUserFile D:/SVNRoot/myUser

                Require valid-user

                </Location>

    1. 权限文件

      权限文件myAccess与SubVersion版本库权限文件配置格式一致。

    1. 用户密码文件

      用户密码文件与SubVersion版本库用户文件格式不一致,需要DOS下

            htpasswd –cb myUser admin               ‘第一次创建用户文件

      然后输入密码两次,创建myUser后,可以新增用户

            Htpasswd myUser fu                          ‘然后输入密码两次

    十、           Eclipses vn插件

    1. 安装

    http://welcome66.iteye.com/blog/1845176

    1. 使用

    http://www.cnblogs.com/dongritengfei/archive/2010/03/03/1677308.html

    http://subclipse.group.iteye.com/group/wiki/1619-subclipse-getting-started-guide-and-reference-b

    十一、   Visual Studio2005 svn插件

    1. 安装
    2. 使用

    http://blog.csdn.net/panderman/article/details/7707785

    http://haner0926.blog.163.com/blog/static/2184154820071129111018599/

    http://blog.163.com/haohengzhen@126/blog/static/76137910201211093727571/

  • 相关阅读:
    Windows监视器SSM应用手册
    300 Professional WordPress Themes Of 2012
    android TextWatcher
    Android save pictrue by SQLiteOpenHelper
    Android Animation
    android getResources
    我会 背诗哦
    android:imeOptions
    android ViewStub Note
    Android log analysis
  • 原文地址:https://www.cnblogs.com/fyhui/p/3591381.html
Copyright © 2011-2022 走看看