Svn 在发布前几天锁定SubVersion分支

Svn 在发布前几天锁定SubVersion分支,svn,branch,release-management,Svn,Branch,Release Management,在发布之前的几天里,我们希望能够阻止开发人员将文件提交到SubVersion分支,除非团队负责人已经审查并批准了更改(在这种情况下,他们会进行临时更改以允许这样做) 以前我们使用ClearCase,在这种情况下,这是相对容易做到的 由于svn:lock命令仅在每个文件的基础上工作,因此我们不确定是否可以在SubVersion中模拟这种行为 您是做什么的?您可以看看GUI svn客户端,它们通常比命令行客户端具有更丰富的界面/功能集。例如,我使用的是TortoiseSVN,它有获取锁定/释放锁定选

在发布之前的几天里,我们希望能够阻止开发人员将文件提交到SubVersion分支,除非团队负责人已经审查并批准了更改(在这种情况下,他们会进行临时更改以允许这样做)

以前我们使用ClearCase,在这种情况下,这是相对容易做到的

由于svn:lock命令仅在每个文件的基础上工作,因此我们不确定是否可以在SubVersion中模拟这种行为


您是做什么的?

您可以看看GUI svn客户端,它们通常比命令行客户端具有更丰富的界面/功能集。例如,我使用的是TortoiseSVN,它有获取锁定/释放锁定选项,可用于递归锁定选定文件夹中的所有文件。
顺便说一句,它还可以方便地选择标记/分支,并作为一个操作切换到它

您可以在服务器上添加一个预提交挂钩,用于检查提交目标是否包含已关闭的分支,还可以在日志消息中添加一个关键字以绕过此检查。

横向思考-为什么不在您想要“锁定”它的点创建分支,并在构建/发布过程中只签出该修订号呢

然后,开发人员仍然可以签入主干(或他们正在处理的任何其他分支),如果团队负责人批准对发布版所做的更改,则可以将这些更改合并到分支中。 当然,这实际上并不会“锁定”发布分支,但至少您可以在必要时轻松跟踪/撤消更改,并且不会阻止人们工作。开发者源代码仍将指向他们正在处理的分支/主干,而不是新发布的分支


在SVN中创建分支是非常便宜和容易的(我相信)。

我们所做的是将分支移动到标记上,并且只能对标记进行只读访问。

这个响应最好地回答了我的问题,但是get/release lock机制非常慢,因为它递归地对所有文件进行更改。因此,我不确定我们是否会实际使用这种方法。对,我们在工作中广泛使用svn存储库,而不使用锁定。我们在主干/标签/分支上有约定,因此没有人承诺使用标签;我们只在发布分支中修复bug,整个项目的活动都可以通过WebVN轻松查看。