我们正在尝试引入我们希望是一种良好的开发实践:每次提交都必须与问题跟踪系统中的问题相关联。(为了满足这个要求,创建一个新问题是完全可以接受的。)
我们的问题跟踪器 (Redmine) 和 DVCS (Mercurial) 集成得很好,但我们有一个问题:如果开发人员需要在离线时提交某事会发生什么?目前Redmine是在线访问的,Mercurial是通过TortoiseHG(Windows)或shell(Linux)访问的。
我不知道有任何工具(例如,Windows 桌面客户端,商业或免费)允许离线使用 Redmine(创建问题,而不仅仅是查看它们)。我们甚至不介意将 Redmine 数据库复制到每个开发人员的机器上,但是同步数据库并不容易。
我们应该做什么?我可以看到以下选项:
从 Redmine 切换到具有离线支持的问题跟踪器。[我不认为 Trac 更好]
拼凑一些解决方案以在 Redmine 中离线创建问题。[不知道如何,而不是导致而不是解决问题]
放弃提交必须始终引用现有问题的想法。[但这似乎是个好主意]
追溯链接提交与问题。[这要求开发者将每个问题的描述写在一个临时位置,稍后将它们复制到Redmine,然后手动将新问题与提交链接;低效且容易出错]
禁止离线提交(因此,禁止离线工作)。[看起来很傻,考虑到如何选择 DVCS 主要是为了允许离线工作]
你的建议是什么?