【实践】Windows7下安装配置SubVersion

摘要:
将svnserve安装为Windows服务,执行下面的命令,创建一个当Windows启动后,自动启动的服务注意sc的命令行很特殊。如displayname="Subversion","Subversion"之前要有个空格服务创建成功后,可以在控制面板-˃系统和安全-˃管理工具-˃服务,查看到SubVersion服务并可以手动对该服务进行重启或停止操作。

这篇文章记录本人在Windows7下第一次安装和配置SubVersion,安装过程中参考了很多网上的资源,但随着软件版本的更新有些出入,特此记录本人亲自安装过程。

安装程序

    独立服务器SVNServer的配置

    • 1. 安装Subversion和Tortoise

      直接运行Setup-Subversion-1.617.msi安装Subversion,安装过程中按提示选择好安装位置,如F:\Program Files\SubVersion

      直接运行TortoiseSVN-1.6.15.21042-win32-svn-1.6.16.msi,按提示完成安装,安装之后会提示重启

    • 2. svnserve作为Windows服务

      使用命令行工具SC.EXE定义新的服务。将 svnserve 安装为 Windows 服务,执行下面的命令,创建一个当 Windows 启动后,自动启动的服务

      注意 sc 的命令行很特殊。在 key= value 对中,key 与 = 之间不能有空格,但是在 value 之前,必须有空格。如displayname= "Subversion" ,"Subversion"之前要有个空格

      服务创建成功后,可以在控制面板->系统和安全->管理工具->服务,查看到SubVersion服务并可以手动对该服务进行重启或停止操作。

      【实践】Windows7下安装配置SubVersion第1张

    • 3. 建立版本库

      以F:\SvnTest作为版本库的根目录,用已安装Subversion的bin目录下的svnadmin创建,如下图运行命令:svnadmin.exe create F:\SvnTest\test 则可在F:\SvnTest下建立一个版本库test。

      【实践】Windows7下安装配置SubVersion第2张

      若创建成功则test目录下会自动创建好conf,db,hooks等目录和readme.txt、format文件。需要注意的是在服务端项目文件是经过编码后进行存储的,是不能直接查看到原文件的

    • 4. 配置版本库
      • A. 找到版本库的conf目录,如F:\SvnTest\test\conf
      • B. 首先编辑svnserve.conf文件,注意去掉注释后每行前面不能留有空格

        Line 12 :去掉注释,修改为顶格写,表示不允许匿名访问 anon-access = none Line 13 :去掉注释,修改为顶格写,表示允许授权写访问 auth-access = write Line 18 :去掉注释,修改为顶格写,表示使用passwd配置文件来设置用户名和密码。 password-db = passwd Line 25 :去掉注释,修改为顶格写,表示使用authz配置文件来设置权限分组管理。 authz-db = authz

      • C. 编辑passwd 文件,配置用户名和密码,如:

        [users] 
        admin
        =admin
        deve1
        =deve1
        deve2
        =deve2
        test
        =test
      • D.编辑authz文件,配置权限分组,如:

        [groups] 
        Manager = admin
        Developer = deve1,deve2
        User = test
        [/]
        @Manager = rw
        @Developer = rw
        test = r
        [test:/hello]
        @Manager = rw
        test =

        其中[groups]为用户的分组,等号前面为组名后为用户名。[/]则表示为版本库根目录分配权限,@manager = rw 表示属于manager组的用户可以都根目录下的所有目录和文件具有读写权限。

        [test:/hello]表示为test版本库下的hello分配权限,,如test = 则表示test用户不能访问hello

        用户配置完成后,需重启Subversion服务

    • 5. 测试版本库

      A. 在资源管理器中,选中自己的工作目录,如“F:\test”;右键选择“Svn CheckOut”菜单;

      B. 在弹出的CheckOut对话框中,选择url为“svn://[服务器IP地址]/test”,我测试时服务端和客户端在同一机子上,所以输入的url为“svn://localhost/test”然后点击OK;接着会弹窗要求输入用户名和密码,填入先前设置的用户和密码再确定,后面对话框中即会显示逐个加入的文件和目录信息,最后一条显示“Completed At Version 0”,因为这时版本库中无任何文件。

      【实践】Windows7下安装配置SubVersion第3张

      【实践】Windows7下安装配置SubVersion第4张

      C.如果可以checkout,则证明整个库配置完成,这时test文件夹图标上会多个绿色的对勾。

      【实践】Windows7下安装配置SubVersion第5张

      免责声明:文章转载自《【实践】Windows7下安装配置SubVersion》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

      上篇TCP接收窗口的调整算法(下)C# 枚举(Enum ) 应用总结下篇

      宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

      相关文章

      在clickhouse中更新和删除

      ck 目前支持了更新和删除,但是与传统sql语法 略有不同,我也记录下来,防止后面忘记。 测试数据 :) select count(*) from system.columns where table='test_update'; ┌─count()─┐ │ 332 │ └─────────┘ :) select count(*) from t...

      MySQL中使用replace into语句批量更新表数据

      作为示例,我们在这里使用名为testdb的数据库,并且在其中创建两张一模一样的表: drop table if exists test_table_1; create table test_table_1 ( name varchar(30) primary key, age integer ); drop table if exists...

      c#之Redis实践list,hashtable

      写在前面 最近公司搞了一个活动,用到了redis的队列,就研究了下redis的相关内容。也顺手做了个demo。 C#之使用Redis 可以通过Nuget安装Reidis的相关程序集。安装之后发现会引入以下几个dll 一些list,队列和hashtable的操作。 using System; using System.Collections.Generi...

      docker API接口service update错误记录 error while removing network:…

      一、问题 error while removing network:… 创建srvice的参数的时候,如果设置了network参数(接口POST:service/create) [{ "Image": "nginx", "ImageVersion": "1.17", "ServiceName": "test-chow", "Replicas...

      RedisTemplate访问Redis数据结构(二)——List

      RedisTemplate使用ListOperations专门操作list列表。首先初始化spring工厂获得redisTemplate和opsForList private RedisTemplate<String,Object> redisTemplate; private ListOperations<String,...

      linux下find查找命令用法

      转自http://www.jb51.net/os/RedHat/1307.html Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件...