• 配置SVN服务器
    • VisualSVN
    • VisualSVNServer
    • 添加代码库
    • 创建用户
    • 设置代码库的授权用户
    • 添加用户组
    • SVN版本管理 目录结构

    配置SVN服务器

      SVN程序是典型的 C/S 结构的应用,所以需要单独配置SVN服务器。取得了SVN服务器之后进行安装。

    SVN服务器安装软件下载地址:https://www.visualsvn.com/

     8.2 配置SVN服务器  - 图1

    VisualSVN

    VisualSVN是Visual Studio的专业级Subversion集成插件。

    VisualSVN的主要优点是:

      • 无与伦比的可靠性:由于VisualSVN,Visual Studio永远不会崩溃或挂起。  • 无缝集成: VisualSVN自动处理添加或重命名的文件,并将这些操作反映到Subversion。  • 实时状态: VisualSVN会仔细跟踪并显示对工作副本所做的所有当前更改。  • 简短的学习曲线: VisualSVN利用TortoiseSVN对话框,并提供一个智能向导,将您的资源放在Subversion下。

    VisualSVNServer

    VisualSVN Server允许您在Windows平台上轻松安装和管理功能齐全的Subversion服务器。由于其强大的功能,无与伦比的可用性和独特的企业级功能,VisualSVN Server对小型企业和企业用户都很有用。

    VisualSVN Server的主要功能包括:

      • Active Directory单点登录  • 多站点存储库复制  • 备份还原  • 支持HTML5的Web界面  • PowerShell脚本和自动化  • 存储库管理委派  • 远程服务器管理  • 访问和操作记录

     8.2 配置SVN服务器  - 图2

    VisualSVN Server提供了一个名为VisualSVN Server Manager的强大管理控制台。它作为标准MMC管理单元实现,允许您管理Subversion服务器,而无需处理配置文件和命令行工具。除了控制台之外,VisualSVN Server还包括一个PowerShell模块,可帮助管理员使用PowerShell cmdlet自动执行服务器和重新管理任务。

     8.2 配置SVN服务器  - 图3 8.2 配置SVN服务器  - 图4

    添加代码库

     8.2 配置SVN服务器  - 图5

     8.2 配置SVN服务器  - 图6

     8.2 配置SVN服务器  - 图7

     8.2 配置SVN服务器  - 图8

     8.2 配置SVN服务器  - 图9

    创建用户

     8.2 配置SVN服务器  - 图10

     8.2 配置SVN服务器  - 图11

    设置代码库的授权用户

     8.2 配置SVN服务器  - 图12

     8.2 配置SVN服务器  - 图13

    添加用户组

    使用用户组来授权更方便。

     8.2 配置SVN服务器  - 图14

     8.2 配置SVN服务器  - 图15

    SVN版本管理 目录结构

    Subversion有一个很标准的目录结构,是这样的。比如项目是 proj,svn地址为 svn://proj/,那么标准的 svn 布局是:

    这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。

    介绍一种比较合理的SVN Trunk、Tag和Branch使用方法。trunk:用于各版本开发提交代码branches:分支,有很多种用法,比如:版本发布维护分支、新特性开发分支,甚至是缺陷修复分支等等。tags:标签,或者叫快照,某个版本发布时候,都在这里留档。用于记录和保存每个release/milestone的代码。

    过程说明:

    1、项目开始时,创建Trunk,开始1.0.0开发

    2、所有小组成员都往Trunk中提交代码

    3、当1.0.0开发完成后,创建一个标签:Tag1.0.0

    4、Tag1.0.0测试完成后,部署到服务器

    5、开发小组开始新版本1.0.1开发,继续提交代码到Trunk中

    6、1.0.1开发完成,创建Tag1.0.1,测试完后部署到服务器

    7、开发小组开始新版本1.0.2开发,继续提交代码到Trunk中

    8、1.0.1运行中发现bug,需要紧急修复 -> 从Tag1.0.1中创建1.0.1bug-fix Branch

    9、Bug修复代码提交到1.0.1bug-fix Branch,测试通过后,部署到服务器

    10、提交到1.0.1bug-fix Branch的代码合并到Trunk中

    11、And so on……

    ?