我们正在使用SVN服务器1.4(我认为),客户端是命令行客户端或TortoiseSVN。
答案 0 :(得分:27)
使用svn status --show-updates
发现文件锁定。在下面的例子中,Sally发现raisin.jpg上有一个锁。
$ whoami
sally
$ svn status --show-updates
M 23 bar.c
M O 32 raisin.jpg
* 72 foo.h
Status against revision: 105
一旦知道锁定,就可以使用svn -info
来发现设置锁定的人。请注意下面的“锁定所有者”:
$ svn info http://svn.example.com/repos/project/raisin.jpg
Path: raisin.jpg
Name: raisin.jpg
URL: http://svn.example.com/repos/project/raisin.jpg
Repository UUID: edb2f264-5ef2-0310-a47a-87b0ce17a8ec
Revision: 105
Node Kind: file
Last Changed Author: sally
Last Changed Rev: 32
Last Changed Date: 2005-01-25 12:43:04 -0600 (Tue, 25 Jan 2005)
Lock Token: opaquelocktoken:fc2b4dee-98f9-0310-abf3-653ff3226e6b
Lock Owner: harry
Lock Created: 2005-02-16 13:29:18 -0500 (Wed, 16 Feb 2005)
Lock Comment (1 line):
Need to make a quick tweak to this image.
答案 1 :(得分:16)
命令行客户端使用命令“svn info”显示锁所有者。
在TortoiseSVN中,您可以在“属性”上下文菜单中看到锁所有者(“subversion”选项卡)。
答案 2 :(得分:13)
使用TortoiseSVN的repo-browser功能,有一个锁定列,显示锁定文件的用户。
右键单击本地工作副本 - > TortoiseSVN->库浏览器。
答案 3 :(得分:5)
检查步骤:
右键单击要确定锁定的文件/文件夹
转到TortoiseSVN选项>>库浏览器
将打开一个新窗口,您将获得一个表格视图
表格中的锁定列将显示谁拥有锁定
答案 4 :(得分:4)
答案 5 :(得分:2)
以下Python脚本显示了所有锁和谁拥有它们:
#!/usr/bin/python
# coding=UTF-8
# This tool shows who owns the locks in a subversion repository
import sys
import subprocess
if len(sys.argv) > 1:
p = subprocess.Popen(['svn', 'status', '-u', sys.argv[1]], bufsize=1, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
else:
p = subprocess.Popen(['svn', 'status', '-u'], bufsize=1, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(so, se) = p.communicate() # start command
lines = [x[21:].strip() for x in so.split('\n') if len(x) > 5 and x[5] == 'K']
for line in lines:
p = subprocess.Popen(['svn', 'info', line], bufsize=1, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(so, se) = p.communicate()
details = [x[12:].strip() for x in so.split('\n') if x.startswith('Lock Owner')][0]
print '[%s] (%s)' % (details, line)
答案 6 :(得分:0)
检查red book部分'发现锁'。我相信它包含了答案。
答案 7 :(得分:0)
我还有关于 .aux文件的问题。 在我的案例中的解决方案/问题是没有子目录允许比允许的深度更大的子目录。如果要使用此项,则tmp文件夹中的子目录必须存在。 例如 - > SRC - >引入 - > introduction.tex 要求 - > TMP - >引入 - > introduction.aux 的 强> 的 ** * ** * 强>
带下划线的目录必须存在。 所以在subversion管理的情况下,也提交tmp文件夹中的目录结构(不带* .aux)文件。