锁定本地SVN文件

时间:2012-05-21 14:41:42

标签: svn locking

我想:

  1. 将文件更新为特定版本
  2. 锁定工作副本,以便其他任何人都无法更新或修改它
  3. 运行编译脚本(分离到svn并且非常慢)
  4. 解锁文件,以便其他用户可以再次修改
  5. 这是我写的(在windows命令行语法中):

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

    然而不幸的是,另一个用户在我编译时在file.cpp上运行了更新,并且它再次恢复到存储库中的最新版本,即它没有被锁定停止。

    有没有办法锁定工作副本所以不会发生这种情况?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您想要锁定文件的LOCAL副本吗?这是操作系统的事情,与Subversion无关。你想要做什么,每个人和他们的堂兄都有你需要控制的文件的读/写权限?

版本控制系统已经内置了您想要的功能,但您需要直接在您的控制下使用工作目录。用户不应仅因此而共享工作目录。如果您需要一个合作空间,请创建一个分支,但永远不要共享工作目录。

我猜您可以使用cacls命令删除读/写权限,但如果您使用与其他用户ID相同的用户ID,则其他人可以直接授予他们自己的权限。