所以开发人员X和Y确实从svn repo结帐,修订号为2. Dev Y进行更改并进行提交。 Dev X进行更改并进行提交。现在我想强制说,如果他的回购不是最新的,他就不应该提交?
我该怎么做?
如何在不进行svn更新的情况下阻止用户提交到repo,从而过度编写prev developer开发者的更改?
答案 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
。