Svn 查看Subversion中锁定的文件的最佳方式是什么?

Svn 查看Subversion中锁定的文件的最佳方式是什么?,svn,administration,Svn,Administration,我终于让我的团队从SourceSafe切换到Subversion。不幸的是,我的经理仍然希望对每个文件使用独占锁。所以我在每个文件上设置了svn:needs lock属性,并创建了一个pre-commit钩子来确保该属性保持设置 我们正在Linux服务器上运行Subversion。我们大多数人使用Windows电脑,少数人使用Mac电脑。我们使用各种SVN客户端(TortoiseSVN、SmartSVN、Subclipse等) 我们现在需要的是一个好的/简单的方法来查看当前在整个存储库中锁定的所

我终于让我的团队从SourceSafe切换到Subversion。不幸的是,我的经理仍然希望对每个文件使用独占锁。所以我在每个文件上设置了svn:needs lock属性,并创建了一个pre-commit钩子来确保该属性保持设置

我们正在Linux服务器上运行Subversion。我们大多数人使用Windows电脑,少数人使用Mac电脑。我们使用各种SVN客户端(TortoiseSVN、SmartSVN、Subclipse等)

我们现在需要的是一个好的/简单的方法来查看当前在整个存储库中锁定的所有文件(以及谁锁定了这些文件)。我已经在乌龟和亚栗色中摸索了一下,但还没有找到我要找的东西。我们的项目有许多子目录,这些子目录有多个层次,因此查看每个目录太耗时了


我想要的是一个可以运行的报告,其中列出了当前锁定的所有内容以及锁定对象。获取此类信息的最佳方式是什么?

您要查找的是命令


我在工作中设置了这个,因为我们在Subversion存储库中保存了一些Word文档(使用
svn:needs lock
)。我每天都会设置一个cron任务,检查锁列表,并通过电子邮件向整个团队发送一份所有超过7天的锁的报告。这样,我们就可以知道谁在文档的锁定副本上懒散了,坐了很长时间。

这可能不是您想要的答案,但您应该尝试说服经理,锁定实际上不是最佳的开发实践。有很多关于这个主题的文章,所以我不会在这里重复

当您从一个锁定环境转到一个没有强制签出锁定的环境时,起初您认为这会导致混乱,但事实并非如此。SVN擅长于在两个人处理同一个文件时合并更改,即使最终出现冲突,修复它们也不坏


总比等着那个带着重要文件去吃午饭的家伙离开要好得多,更糟糕的是,他去度假了。

要想知道你和其他人持有什么样的锁,你可以用乌龟→ 检查是否有修改。。。。本地持有的锁定令牌立即显示。要检查其他人持有的锁(并查看您的锁是否损坏或被盗),您需要单击检查存储库

您可以使用
svn status--show updates
从本地签出中发现锁,这将在服务器上锁定的所有文件之前放置一个
O

e、 g


有关更多详细信息,请参见

Office2003现已内置word文档合并功能。我不知道这项功能是什么时候推出的,但这可能意味着您不再需要锁定word文档。谢谢Greg。作为后续工作,您能告诉我如何使列表仅显示x天以前的锁吗?我刚刚编写了一个脚本,解析“svnadmin lslocks”的输出,查看每个锁的创建日期,并计算从该日期开始的天数。我的实际脚本正在工作,目前我还没有访问它的权限,但这应该很容易理解。我知道你知道这一点,但这些锁将成为代码共享区域的生产力杀手。合并工具现在非常好,合并更改比您的老板想象的要容易。@TomLeys在源代码或任何好的可合并文件类型中,您可能都有权利。但情况并非总是如此,例如,有时SVN用于管理数据文件或office文档,但它们都没有易于访问且广泛使用的合并工具。在SVN上合并Informatica文件(存储为xml)如何?我想唯一的出路是svn锁…不是吗?我试着一步一步地走。刚把这群人从SourceSafe救出来就是一场战斗。一旦他们对SVN感到满意,那么我计划放弃独占锁定。在处理二进制文件时,锁是非常宝贵的,这些文件不能简单地合并或区分,比如Microsoft Office文档。
$ svn status --show-updates
     O      279532   LockedFile
?                    UncommittedFile
M           279532   ModifiedFile