Svn Subversion工作流:强制更新、构建、提交前测试
是否可以创建一个svn提交钩子来确认工作目录在提交之前已经被svn更新、构建和测试?我想至少确保在开发人员提交代码之前,代码已经用trunk中的最新代码进行了编译和测试。当开发人员修改了导致构建失败的不同源代码时,这将防止主干中的集成问题 另一种方法是,如果存在任何已更新(但在工作目录中没有必要修改)的文件,则防止提交Svn Subversion工作流:强制更新、构建、提交前测试,svn,tortoisesvn,workflow,pre-commit-hook,Svn,Tortoisesvn,Workflow,Pre Commit Hook,是否可以创建一个svn提交钩子来确认工作目录在提交之前已经被svn更新、构建和测试?我想至少确保在开发人员提交代码之前,代码已经用trunk中的最新代码进行了编译和测试。当开发人员修改了导致构建失败的不同源代码时,这将防止主干中的集成问题 另一种方法是,如果存在任何已更新(但在工作目录中没有必要修改)的文件,则防止提交 另一方面,如前一个问题所述,我的工作提交了二进制文件和源文件。这样做的一个原因是,如果提交时存在二进制文件冲突,那么您知道该二进制文件的源已发生更改,因此需要运行svn更新并重新
另一方面,如前一个问题所述,我的工作提交了二进制文件和源文件。这样做的一个原因是,如果提交时存在二进制文件冲突,那么您知道该二进制文件的源已发生更改,因此需要运行svn更新并重新编译。这也使得合并和更新成为一种痛苦。我意识到,如果开发人员在提交之前进行更新,则不太可能需要此检查。SVN本身确保文件已更新。您不必确保人们正在签入更新文件 对于编译/测试部分,您可以使用TortoiseSVN拥有客户端钩子,它将编译代码并作为预提交钩子的一部分运行测试。需要注意的是,您不能真正确定每个开发人员都有hooks设置 你也可以看看类似的东西 以下是上述操作的步骤:
是,但svn将仅确保在提交之前已更新修改的文件。假设有一个二进制文件是由两个源文件构建的。两个开发人员都签出了相同的版本,但每个开发人员只修改一个源文件。如果他们在提交之前不进行更新和测试,他们就有可能签入代码,这些代码一起将失败。(例如,新版本的source2所依赖的source1中的一个函数被删除)这是一个边缘案例,显然他们在过去已经被咬过了。看看svn rake提交任务(以及您刚刚粘贴的步骤,谢谢!:),它看起来非常接近我在tortoisesvn中想要的。