我们有125+人的团队,我们正在使用togoise SVN进行版本控制。我们有一个excel表格,每个用户都必须在一天结束时更新他们的日常工作,但事情是在进行更改之前没有正在更新(SVN更新)excel文件,并且由于添加了他的详细信息的人员丢失了。所以为了避免这种情况,我想要一个svn post提交脚本,强制svn update命令给每个人的工作副本,所以每当他们打开他们的工作副本时它都是最新的。 请帮我把它应用到我的存储库 我们正在使用带有Windows客户端的togoise svn,我们已经使用collabnet team-forge集成了togoise svn
答案 0 :(得分:1)
不,你不想那样。这可能会抹杀正在进行的工作。如果有多个人同时尝试编辑,那将无济于事。
您想要的是一种告诉用户“其他人正在编辑此文件,不要触摸它”的方法。
执行此操作的方法是在任何二进制文件(例如Excel电子表格)上设置svn:needs-lock
属性。
使用此属性,该文件在每个人的工作副本上变为只读。要编辑该文件,首先使用svn lock
使文件可写,并防止其他人锁定或提交文件。然后,当你的更改完成并提交时,锁就会消失,其他人可以锁定并进行更改。
如果您的文件版本已过期,获取锁定将失败,从而导致更新。
但是在进行更新时请注意不要打开文件,或者可以覆盖传入的更改。
答案 1 :(得分:1)
最后 - 服务器端挂钩在客户端的工作空间中无法做任何事情(svn up
是客户端的工作,而不是服务器),除了一些异国情况(ssh)客户&& cd WC&& svn up),这不是你的情况