Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close
= py.kingsoft.net HG仓库使用规约 =

 版本::
  * 100819 ZoomQuiet 增补目录设定
  * 100122 ZoomQuiet 增补整后目录约定
  * 100119 ZoomQuiet 增补目录使用说明
  * 100110 ZoomQuiet Creat!


== 概述 ==
本文约定了 py.kingsoft.net 分布式Hg版本仓库的使用规范,为所有可访问仓库的成员在協同时,给出了一个基础指导,以便在协同过程中避免混乱;


== 仓库规约 ==
一般性建议参考::
    http://wiki.rdev.kingsoft.net/moin/KspegSvnRepoDir

目录约定:
{{{
http://py.kingsoft.net/hg/ktrac
+-- tangle        (自由开发目录,以类别或是个人姓名为目录,组织各种预研代码/资料的版本管理)
|   +-- TEPs        试用中的插件本地收集
|   +-- ZoomQuiet   可能的成员个人开发代码暂存入口
+-- branches      (成品的维护分支,在线系统的维护开发等等)
+-- trunk         (KTRAC 开放开发主线)
|   +-- ktrac
|   |   +-- _trac       KTRAC 基于的特定小修订的trac0.12 主代码
|   |   +-- _depends    所有插件依赖的其它模块
|   |   +-- common      通用KTRAC方案
|   |   +-- frog        需求管理KTRAC方案
|   |   +-- mole
|   |   +-- ui
|   |   +-- ...
|   \-- TEPs
|       +-- own           过程改进组原创
|       +-- thirdparty    原生插件,汉化/0.12 兼容分支
+-- release       (成品版本发布目录)^随着发布管理的完善这里将只读,保存所有历史版本作品的状态^
\-- readme.txt    (本文)
}}}

=== 理解 ===
 * KSPEG的开发版本管理使用特殊的自定目录:
  1. tangle   -> 原型开发入口
  1. trunk    -> 正式项目开发
  1. release  -> 作品版本仓库
  1. branches -> 运维版本增补

 * KSPEG 作品的发布流程简述:
{{{
1. 在trunk 中完成开发
2. 复制到 branches 进行版本冻结测试和修订
3. 测试确认后,复制到 release 中,发布到主机
4. 运营期间,维护 branches 对应版本目录中的代码
5. 同时,下一版本的开发,在 task 原先目录中继续
}}}
  * 作品正式发布一个版本的标志就是:在`release`中有对应版本目录!
  


=== KSPEG作品版本规约 ===
KSPEG 作为对内服务部门,有两类工件的版本维护:
 * 开源系统的配置和维护
 * 自主开发系统的运维

所以,规定如下两种版本管理规范:

 原创作品版本规范::
  * 范畴: 所有通过自主研发创造的系统,提供确定服务的作品
  * 目录:
  {{{
matter/
  +-- tangle    <- loc 原型开发时,入口目录;成员自由读写
  +-- trunk     <- 协同开发时,入口目录;仅作品成员有权限
  +-- branches  <- 协同维护时,入口目录;仅作品成员有权限
  +-- release   <- 版本发布时,入口目录;仅SA+TL 有权限
  }}}
  * 发布流程:
   1. 先在 tangle 中自由原型尝试
   2. 通过立项后,确认作品 名称/E文/Unix名 在trunk 建立对应目录,进行beta 协同开发
   3. 在某个阶段主持人确认可以发布时,将 trunk 对应 Changeset 复制到 release 中,完成版本发布
   4. SA 根据release 中对应Changeset 和文档,部署到 demo 中发布集成测试环境
    * 如果测试都通过,则部署到运营主机环境,将对应相关实例的配置,复制到 trunk 中
    * 如果测试未通过,则SA 从release 中刷回demo 的上一作品版本
  * 升级流程:
   1. 先根据需求,在 trunk 对应作品目录中进行修订,在beta 环境中进行协同开发
   2. 在某个阶段主持人确认可以升级时,SA将 trunk 对应 Changeset 部署到demo 中
    * 如果测试都通过,则:
     + SA部署Changeset 到运营主机环境,将对应相关实例的配置,复制到 trunk 中
     + 主持人将对应目录,升级版本号,复制到 branches 中
    * 如果测试未通过,则:
     + SA 从release 中刷回demo 的上一作品版本
     + 主持人,继续在 tasks 中进行修订


 KSPEG作品版本命名规范::
 {{{
作品名_主版本号_子版本号[_hotfix版本号][_RELENG][_状态标识[序号]]
 |     |      |       |             |        |        +- 可选,同一状态重复数目
 |     |      |       |             |        +- 标识作品当前状态,详见后文说明
 |     |      |       |             +- ReleaseEngineering 发布工程标识!
 |     |      |       |                只能经理才可以打,作为可升级的依据;
 |     |      |       +-- 在运营中快速修订时的版本
 |     |      +-- 作品在原有基础上增补了功能时++1
 |     +-- 作品初始版本为1.0; 当进行了重大增补,或是累积修正较多导致整体发生变化时; ++1
 +-- 立项时确认,根据不同情景可以使用 E文名/Unix缩写名; 一般情况全大写;
     如果是定制作品,作品名应该包含定制系统的对应版本,以 `v*.*` 为格式
 }}}
   * 应用场景:
    * 所有文档/维基/代码注释/传票字段/传票内容等等中
    * SVN relaese 目录命名中
 
 测试进程状态标识::
  * _CT -- 单元测试 Cell Test
  * _IT -- 集成测试 Integration Test
  * _FT -- 功能测试 Function Test
  * _ST -- 系统测试 System Test
  * _BETA -- 贝塔测试 [β] Test
  * _IU -- 安装测试 Install/Uninstall Test
  * _PT -- 性能测试 Performance Test
  * _TS -- 安全测试 Test Security
  * _TU -- 可用性测试 Test Usability 

 实例::
 `针对作品`
  * MSG_1_0_090214 ~ MSG 1.0 090224 hotfixed 版本
  * MSG_1_0_loged_2 ~ MSG 1.0 日志增补第二版
  * TRACv0.10.4zh_4_1_RELENG_IT3 ~ Trac v0.10.4 中文版 4.1 第3次集成测试版
  * TRACv0.12zh_1_0 ~ Trac v0.12中文版 1.0 正式版
 `针对模块/组件`
  * AMATTER_REP_0_7_theme_3 ~ amatter 系统助理月报组件 0.7版本 样式 hotfixed 第3次
  * TRAC_TTT_1_3 ~ Trac系统 传票模板插件 1.3正式版本
 `针对个人原型开发`
  * DATEFLUSHER_ZQ_try_081121 ~ 日期刷值器 ZQ 尝试版本 081221 hotfixed 版
  * `即!保证版本命名的主要部分吻合规范的前题下,其它的可以适当的自行扩展,以便标识自己的开发进度`
  
== TODO ==
 * @ZQ 增补:
  * 环境和目录的关系,更加直观好记的叙述
  * 版本命名规范 进一步细化,实用化
  * 实施当前规范的过程
 
 
= Others =
 文件类型过滤 ::
 文件类型限制声明: source:/trunk/svn.ignore
  * 对想进行文件提交类型过滤的目录进行应用此文件!
      $ svn propset svn:ignore -R -F svn.ignore path/to/dir

Recent activity

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.