2014-02-18 188 views
2

我的目标是使用SVN预提交钩子将审阅请求直接发送到审核板而不是提交到存储库。作为第二步,我希望在批准差异时自动进入存储库。自动化SVN预先提交到审核板,然后批准后提交到SVN

是可以做到的吗?如果是的话,一些指针将不胜感激。 有很多配置post-commit的地方可以解释,但我在Google上找不到任何东西。

编辑:试图阐述问题

所以最近我们已经做了审查委员会的设置。我们使用审查委员会的审查挂钩完成了与SVN的整合。只要用户提交“发布评论”字符串,就会进入评审委员会。

现在我想实现的是这个

1.用户从SVN提交。如果进入仓库,应该改为以diff(自动)形式进行评审。
2.审查应分配给默认审阅者(对于初学者,稍后可以在提交字符串中指定)
3.审阅者将审阅它。在批准该差异应致力于存储库(自动或手动)

+0

可能重复[防止在svn同行评审前提交](http://stackoverflow.com/questions/8905931/prevent-commit-before-peer-review-in-svn) –

回答

4
  1. 您可以阻止提交和转移与pre-commit钩子(块是显而易见的,转移到RB - “如果你能自己动手完成它 - 它可以被自动化“,但需要更多关于操作的细节信息权威答案
  2. 已批准更改的提交不是钩子任务,它将是额外的独立自动提交,并且此过程可能包含一些缺陷:您必须保留队列中原始的提交次序(如果同时存在多个提交),条件是在先前的
  3. 之前可以批准更新的更改

从我的POV,提交到特别支部的而不是阻塞提交和合并<this REV>对审批干线可能更加稳健,轻松地

+1

只是急于知道,我有在我的工作副本中做了一些更改,并且预提交钩将文件发送给其他人。直到这部分是好的。审批人还需要工作副本才能签入?在一份工作副本中本地进行的更改是如何来到审批者的工作副本的?所有这些工作副本路径,你将在pre-commit钩子中编码?如果我怀疑是愚蠢的,请纠正我。 –

+0

@DipuH - 简短回答“我没有概念”。在钩子你可以发送不是文件(与新的内容),但差异。审阅者可能只会读取差异,以便想象全部图片或可能想要完整源代码。我无法想象,审阅者必须如何发送审阅请求(为了简单起见 - 我没有关于CodeReview工具的共同概念)。所有问题都是繁重的工作流程和策略依赖。我无法从“空中”获得答案 –

+0

@LazyBadger可以告诉你需要什么具体细节?我会相应地编辑我的问题。 –

1

@abhishek:

  • 在我们的例子中,我们在我们的svn中添加了一个预先提交的钩子脚本,在提交时 需要评论板网址。如果没有,它会 阻止你提交。

  • 关于审查请求,我认为你可以从 预先提交脚本本身做到这一点。但是这肯定会减慢提交过程。您可以获取svn commit消息并根据此请求创建一个 评论请求。但我不会推荐这个,因为这个 不会是准确的,你不会能够详细说明你的改变。

  • 我们已经整合了Eclipse与e-reviewboard插件,它是git中的 。这将允许您创建审查请求 只需执行右键单击。它会自动上传所选文件的差异 。完成这一步之后,您可以使用 提交svn来审查请求。这样您就可以详细阐述您的更改。我认为这是最好的方法!

1

为什么我们不直接连接Reviewboard Db并在预提交钩子中检查适当的审阅状态。从而更清楚地解决问题。