如何在SVN中进行独家结账?

Ode*_*ded 8 svn locking svn-checkout

我正在寻找一种从SVN进行独家结账的方法.

  1. 有没有办法在文件签出时自动锁定文件?

  2. 如果一个用户进行独占结账,然后另一个用户结账到同一个文件,如何向第二个用户生成某种通知或即时消息,该文件被锁定?

Ale*_*lex 22

您可以添加svn:needs-lock使文件成为只读的属性或auto-prop ,并要求您对文件进行锁定以对其进行编辑.

如果您使用TortoiseSVN,您将看到锁定文件的不同图标,这对于第二个用户来说应该很容易看到并知道不要编辑该文件.

在TortoiseSVN文档中引用


Bri*_*new 6

您可以使用svn lock来阻止其他用户重新检入更改(请注意,您可以使用--force其他用户锁定).这将在命令行上生成消息,告知锁定该文件的人员.

这样做并不常见.人们通过签出副本(非排他性)和写回与其他更改合并的更改来处理SVN(这适用于文本等可合并格式 - 对于二进制文件,您无法执行此操作,如果另一个签名有,则签入将被拒绝发生在此期间).

我不希望这个经常使用,我通常依赖a)svn的合并能力b)与其他团队成员的沟通,以确保我不会踩到其他人的脚趾.


Tel*_*hus 2

如果我理解你的后续帖子,我认为你真正想要的是确保人们解锁。我想象这样一种情况,用户 A 和 B 已经出了一张 jpeg。用户 A 现在将其锁定,并且您希望确保用户 B 知道,这样他或她就不会开始编辑 jpeg 并浪费时间和精力。

如果这是正确的,我建议两件事:首先也是最重要的是沟通(不是很技术性,但如果一致使用的话非常强大);post-lock其次,您可以查看svn. 当有人锁定文件时,您可以使用它发送电子邮件。

书中subversion

钩子post-lock在一条或多条路径被锁定后运行。它通常用于发送锁定事件的电子邮件通知。