0

I want to:

  1. update the file to a certain revision
  2. lock the working copy so no one else can update or modify it
  3. run a compile script (seperate to svn and quite slow)
  4. unlock file so other users can modify again

this is what I wrote (in windows command line syntax):

svn update file.cpp --force -r 320
svn lock file.cpp 
Call CompileScript.exe
svn unlock file.cpp

However unfortunately another user ran an update on file.cpp whilst I was compiling, and it reverted to the latest version in the repository again i.e. it wasn't stopped by the lock.

Is there any way of locking the working copy so this doesn't happen?

4

2 回答 2

1

svn lock 命令是在存储库结束时停止提交/合并,它不会阻止某人修改或更改您的本地文件。你可以让它在DOS下只读吗?我认为它是 attrib +r,然后用 attrib -r 将其删除。

于 2012-05-21T14:50:56.143 回答
0

您想锁定文件的本地副本吗?这是操作系统的事情,与 Subversion 无关。在每个人和他们的表亲都对您需要控制的文件具有读/写权限的情况下,您要做什么?

版本控制系统已经内置了做你想做的事情的方法,但是你需要使用一个直接在你控制之下的工作目录。用户不应该仅仅因为这个原因而共享工作目录。如果您需要合作空间,请创建一个分支,但不要共享工作目录。

我想您可以使用cacls命令删除读/写权限,但如果您使用与其他人相同的用户 ID,其他人可以简单地授予自己权限。

于 2012-05-21T19:33:18.643 回答