使用trac进行项目管理

使用trac进行项目管理

正在使用trac进行知识管理和项目管理,整理一下资料,以便分享。

国内关于trac详细使用介绍的不多,下文介绍的不错。红色的注意是我一些使用的经验补充。

trac概述

概念

开发流程

增加新特性

修正Bug

概念

  • wiki文件, 功能說明, 目标方向 等等.
  • ticket:用于Bug报告、系统增强请求。
    • 报告者
    • 类型(缺陷?增强?...
    • 相关项目哪个部分(Component
    • 相关项目哪个版本
    • 关键字,便于检索
    • 优先级
    • 相关哪个待发布版(blocking that release
    • 属于谁:谁负责解决
    • Cc:逗号分隔的用户或电子邮件地址,他们需要获得ticket变更的通知
    • 解决方案:总结为何此ticket被关闭
    • 状态:该ticket所处的状态
    • 简述:简述该ticket
    • 详细描述
  • Roadmap:列出系统中未来的发布,与这些发布相关的tickets 。依照 Ticket 设定, Ticket 可以指向某個 Milestone, 以便追踪目前完成进度. 项目进度分成哪些阶段, 可以看目前进度狀況, 也可以确认是否有走错方向。
  • Milestones:系统(待)发布版。Milestones可以给出描述和目标日期。
  • Timeline:可以查看何时有修改,被谁修改,修改了什么东西。按发生的顺序,列出所有trac中已发生的事件(以事件简述、适用哪里、事件触发者的形式)。可以看看最近有哪些頁面被更新过, 可以快速跟上进度.下述类型的事件被列出:
    • Wiki页事件:创建和改变
    • Ticket事件:创建和解决/关闭(以及其他改变)
    • 源代码改变事件:Repository check-ins
    • Milestone:里程碑版相关变动

·         Browse Source: 可以看到修改记录 版本比对 等信息.

·         View Tickets - 看现在有哪些 Tickets, 依照下述来分类Tickets. 看目前有哪些 Ticket, 看哪些还沒有完成(常用: My Tickets, Active Tickets)

  •  
    • Active Tickets - 目前有哪些 Tickets Active
    • Active Tickets by Version
    • Active Tickets by Milestone - Milestone 來分 Active Tickets
    • Assigned, Active Tickets by Owner
    • Assigned, Active Tickets by Owner (Full Description)
    • All Tickets By Milestone (Including closed) - 列出所有 Tickets
    • My Tickets - 列出属于自己的 Tickets
    • Active Tickets, Mine first - 列出所有 Active Tickets, 依照重要性排列
    • New Ticket - 建立新的 Ticket

·         New Ticket: Roadmap 做好阶段性的安排后, 再依阶段性任务做更詳細的安排, 並分小项目來开 Ticket.(Bug 可以当 Milestone 來列, 也可以当 Ticket 來慢慢开)

 

开发流程

增加新特性

  1. Wiki上开一页的新特性提议列表
  2. 开发者根据上表,Wiki上开一页新特性计划实现列表
  3. 新建ticket(类型为enhancement
  4. ticket附加到milestone
  5. ticket指派给一个开发者,该开发者负责解决此ticket
  6. (版本管理程序中)创建一个分支(每个ticket对应一个分支
  7. 进行代码修改
  8. (版本管理程序中)融合
  9. 解决ticket

说明:对于新增特性的ticket,分支的命名可为:feature-ticket-特性描述,并留下类似评论:Branched to add xxx. See ticket #nn. ”。新的特性完成后,则融合并留下类似评论:Addresses ticket #nn by implementing xxx.”。当条件成熟时,把那个支打上标签,进行发布。

修正Bug

  1. 新建ticket(类型为defeat
  2. <重复ticket>——>解决为duplicate,增加评论:ticketxxx的重复
  3. <含有足够的信息进行处理?>——>要求报告者提供更多信息
  4. <可重现?>
  5. 分优先级
  6. <是否修正之?> ——>解决为wontfix
  7. 附加到合适milestone
  8. 指派给开发者修正
  9. (版本管理程序中)在相关的发布标记的支中分支
  10. 进行修改
  11. (版本管理程序中)融合相关修改到对应支中
  12. 解决ticket

说明:对于解决Bugticket,分支命名为bug-ticket,留下类似评论:"Branched to fix ticket #nn – Bug的描述."

trac链接

Trac链接是Trac的一个基础特性。通过它,可以轻松地在支持任何wiki语法之处,超链接系统的不同实体——任务单(tickets)、报表(reports)、变更集(changesets)、wiki页面、里程碑(milestones)和源代码文件。 Trac链接通常以type:idid代表实体的数字、名字或路径)的形式,但一些经常用到的实体有缩记符号。

适用场合

trac链接的高级用法

相对链接

wiki内的互链

trac互链

适用场合

可在如下场合使用:

  • 源代码(Subversion)提交的日志信息
  • Wiki
  • 任务单(tickets)、报表(reports)和里程碑(milestones)的详细描述。

还有其他明确的标明支持wiki语法的文本域。 一些例子:

  • 任务单(tickets):#1 ticket:1
  • 任务单评论(ticket comments):comment:ticket:1:2
  • 报表(reports):{1} report:1
  • 变更集(Changesets):!r1, ![1], changeset:1 (有限使用) ![1/trunk], changeset:1/trunk, [2:5/trunk]
  • 修订日志(revision log):r1:3, [1:3] log:@1:3, log:trunk@1:3
  • 差异(diffs (需要Trac版本0.10以上):diff:@1:3, diff:tags/trac-0.9.2/wiki-default//tags/trac-0.9.3/wiki-default diff:trunk/trac@3538//sandbox/vc-refactoring@3539
  • Wiki页面:CamelCase wiki:CamelCase
  • 父页面:[..]
  • 里程碑(milestones):milestone:1.0
  • 附件(attachment):attachment:ticket:944:attachment.1073.diff
  • 软件版本仓库中的文件:source:trunk/COPYING
  • 软件版本仓库中文件的某个特定修正版: source:/trunk/COPYING@200
  • 软件版本仓库中文件的某个特定修正版的某行:source:/trunk/COPYING@200#L25

trac链接的高级用法

相对链接

创建指向页面的某个锚(anchor),使用"#",比如 [#Relativelinks relative links] 提示:当你移动鼠标到段的标题上,一个¶”字符将会显现。这是一个只向该段的链接,用它可以拷贝该段的锚(anchor)。 创建指向一个子wiki页面,只要使用/”,比如 WikiPage/SubWikiPage ./SubWikiPage 在子wiki页面创建指向父wiki页面的链接,使用..,比如 [..] 链接到兄弟页面,使用../”,比如[../Sibling see next sibling]

注意:如果是中文,连接名前要加个‘a',比如有一段名为:“第一段”,在后面对其引用为[#a第一段],直接输入中文有问题。如果想要此链接显示中不带a,改为[#a第一段 第一段]。

wiki内的互链

其他前缀可以任意定义,用来指向其他web应用的资源。这些前缀的定义和指向web应用的URL在此说明

trac互链

trac互链是专门面向链接其他trac项目中的资源。 任何类型的trac链接可以写成trac环境和实际指向那个trac环境资源的引用,之间用冒号隔开。

注意trac在显示页面时对页面进行翻译,将其中对应标记的记号替换为超链接,即意味着被不是在trac中写的,但是被trac引用的文档中的标记都会被翻译,例如如果在版本控制的commit注释中的文字如果按照wiki格式也会被解释,故可以在commit注释中与trac的wiki或者ticket等相关联。

新建wiki

新建wiki页的步骤

wiki页的命名

CamelCase

 

新建wiki页的步骤

  1. 决定wiki页的名字
  2. 编辑某个存在的wiki页面 (或其他支持 Wiki语法的资源),增加一个只向你新的wiki页的链接。保存更改。
  3. 点击指向你新wiki页的链接。Trac将会显示一个 "describe PageName here" 的信息。
  4. 点击 "Edit this page" 按钮,来增加、编辑新wiki页的内容。保存更改。
  5. 现在,你的新wiki已经发布了。

你也可以在页面顶端的搜索框,输入CamelCase方式的名字,来跳过第二步。但是当心,这样做,该wiki页将成为孤儿页,直到你在别的地方建立指向它的链接。 (在浏览器地址栏中,直接输入URLdev.lemote.com/code/{当前项目名}/wiki/新的wiki页名称,也可以达到类似的效果)

wiki页的命名

Wiki页命名一般遵循CamelCase规范。Wiki文本中, 任何符合CamelCase形式的单词自动转换为一个指向以此单词命名的wiki页。 CamelCasewiki页名必须符合以下规则:

  1. 名子必须只能含有字母。不能含数字、空格、标点符号或下划线。
  2. 名字必须至少含两个大写字母。
  3. 名字首字母必须大写。
  4. 每个大写的字母其后必须是一个以上的小写字母。
  5. wiki页命名中,可以使用斜杠(/)(可能是代表一种层次关系)

如果你想创建不遵循CamelCase规则命名的wiki页,你可以使用如下语法:

 注意:中文几乎只能采用如下方法。

  • [wiki:Wiki_page], [wiki:ISO9000]
  • [wiki:"Space Matters"] 这个页名内含空格
  • 或更简单的: ["WikiPageName"]s (!MoinMoin的内部自由链接风格)

Trac 0.11版开始,可以指定到Wiki页的一个特定版本,比如:http://dev.lemote.com/code/demo/wiki/WikiStart?version=1 另外,可以在Wiki名后尾随一个锚(anchor),来指向wiki页的某个特定段。是否有锚,可以简单的通过移动鼠标指针到段头,看到其后出现的¶”标志,也可以明确指定。 

CamelCase

CamelCase是最初的wiki创建超链接的规范,额外要求大写的字母其后为小写字母。于是,AlabamA” 与 “ABc”不是链接。

自定义Wiki行为

某些人不喜欢通过CamelCase进行链接这种方式。 虽然Trac仍旧忠实的遵循最初wiki风格,但其提供了一组满足不同喜好用户的链接方式。

  •  
    • 一种方式 ([wiki]中的ignore_missing_pages) 是,当链接是CamelCase方式时,简单地忽略不存在的wiki页,而非此单词灰显后跟问号。
    • 另一种方式([wiki]中的split_page_names),显示时,在CamelCase风格的链接的多个单词间自动插入空格符。
    • 明确地创建Wiki链接也很容易,见wiki页的命名
    • 另外,Wiki格式化显示可以在某些地方禁用。 (例如显示提交日志时)

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值