如何使用svn实现以下功能?

时间:2009-04-14 09:39:46

标签: svn

所以开发人员X和Y确实从svn repo结帐,修订号为2. Dev Y进行更改并进行提交。 Dev X进行更改并进行提交。现在我想强制说,如果他的回购不是最新的,他就不应该提交?

我该怎么做?

如何在不进行svn更新的情况下阻止用户提交到repo,从而过度编写prev developer开发者的更改?

3 个答案:

答案 0 :(得分:8)

SVN会自动执行此操作,对于已在服务器上更改过的文件,您必须使您的工作副本保持最新并解决所有冲突,然后才能提交。

答案 1 :(得分:4)

你无法真正强制执行SVN以使程序员始终进行更新,但如果存在冲突,即。程序员X更改的文件已在存储库中更新,然后SVN将需要更新,以解决冲突。

换句话说,如果程序员Y将文件TEST.TXT从版本2更新到版本3,而程序员X将版本2更新为TEST.TXT,并更改该文件,当他尝试提交修订版4时,SVN将强制程序员X首先更新。

但是,如果程序员X和Y在不同的文件上工作,SVN将不会强制进行更新。

可能有客户端钩子。

您想在这里解决哪些具体问题?你为什么要这样做?

答案 2 :(得分:2)

以下是关于“提交更改”的官方Subversion文档章节:

http://svnbook.red-bean.com/nightly/en/svn.tour.cycle.html#svn.tour.cycle.commit

最后一段说明您必须在提交本地工作副本中的“过时”文件之前执行svn update