2010-06-11 71 views
2

我正在寻找一种方法来向我的VCS添加提交后提交或预先提交挂钩,这将允许我一次创建和关闭trac票据。使用单一提交打开和关闭trac票据

该用例用于发现错误并更正错误,但是希望确保项目经理可以看到修复程序的单个开发人员完成了修复任务,修复完成后的里程碑

创建票证时,我们在trac中有一个默认的里程碑,所以反映这些信息也不错。

回答

2

我建议延伸TracTicketChangesetsPlugin来做到这一点。

您会调整它在提交消息中检测命令的方式(请参阅http://trac-hacks.org/browser/tracticketchangesetsplugin/trunk/ticketchangesets/commit_updater.py?rev=8114#L154),因为您还没有可供参考的票号。

请参阅http://trac-hacks.org/browser/tracticketchangesetsplugin/trunk/ticketchangesets/commit_updater.py?rev=8114#L215它实际进行解析的位置。你将不得不返回一些新的标记来表示“新票”。

实际上改变门票的代码是http://trac-hacks.org/browser/tracticketchangesetsplugin/trunk/ticketchangesets/commit_updater.py?rev=8114#L234,所以在这里你会创建新门票,然后马上关闭门票。要创建新票证,请调用Ticket(self.env),然后使用Ticket.insert()将其保存(请参阅http://trac.edgewall.org/browser/trunk/trac/ticket/model.py?rev=9692#L174)。

如果您这样做,我建议您将修补程序附加到new ticket at Trac Hacks

+0

(再次,由于是新的,无法编辑!) 请注意,此Trac插件是“派生自”http://trac.edgewall.org/browser/trunk/tracopt/ticket/commit_updater.py?rev= 9936所以如果你不想使用插件,你可以通过编辑代码来开始。但是,该插件非常好,并且额外的功能非常好(例如在专用区域中列出票证中的提交)。 无论哪种方式,您都需要向您的Subversion存储库添加一个后传递挂钩,该存储库运行trac-admin的changeset命令。 (有关TracTicketChangesetsPlugin的说明会详细介绍。) – Nick 2010-07-13 08:42:53

0

创建一个post-commit钩子。注意trac post-commit挂钩如何工作并复制此功能以控制此操作(创建+关闭标签)。创建+关闭是wget可能发生的两个单独的http请求,您可以截取票据创建表单的帖子,查看现有trac集成如何工作,或者以其他方式破解它。玩的开心。我希望这可以更具体,但它确实取决于你想要做什么。

+0

因为有实际登录到trac的问题,您可以使用以下两种方法之一: 1.手动和方便:与Firefox登录并使用与wget的饼干: http://hack2live.blogspot.com /2009/01/exporting-firefox-cookies-for-wget.html >安装Export Cookies 1.0 firefox插件>(https://addons.mozilla.org/en-US/firefox/addon/8154) > >并用wget的下载: > wget的--load饼干=/cookie.txt的-i url.list 2.自动和更困难: http://drupal.org/node/118759 还示出了一个关于如何发布帖子的实例与wget。 – cheater 2010-07-12 04:09:32