Ответ 1
Клиент командной строки показывает владельца замка с командой "svn info".
В TortoiseSVN вы можете увидеть владельца блокировки в контекстном меню "Свойства" (вкладка "subversion" ).
Мы используем SVN-сервер 1.4 (я думаю), при этом клиентами являются либо клиент командной строки, либо TortoiseSVN.
Клиент командной строки показывает владельца замка с командой "svn info".
В TortoiseSVN вы можете увидеть владельца блокировки в контекстном меню "Свойства" (вкладка "subversion" ).
Используйте svn status --show-updates
, чтобы обнаружить блокировки файлов. В следующем примере, Салли обнаруживает, что есть замок на 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
, чтобы узнать, кто установил блокировку. Обратите внимание на "Lock Owner" ниже:
$ 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.
Используя функцию репо-браузера TortoiseSVN, есть столбец блокировки, в котором отображается пользователь, который заблокировал файл.
Щелкните правой кнопкой мыши на локальной рабочей копии → TortoiseSVN- > repo-browser.
Шаги для проверки:
Щелкните правой кнопкой мыши файл/папку, в которой вы хотите определить блокировку
Перейдите в TortoiseSVN Options → Repo-browser
Откроется новое окно, и вы получите представление таблицы
Столбец блокировки в таблице покажет, кто имеет блокировку
Следующий Python script показывает все блокировки и кто их владеет:
#!/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)
Отметьте красную книгу в разделе "Обнаружение блокировок". Я считаю, что он содержит ответ.
У меня также была проблема с файлами .aux. Решение/проблема в моем случае заключалась в том, что поддиректории не имеют более глубокую глубину, чем 1. Если вы хотите использовать это, подкаталоги в папке tmp должны быть существующими. например - > src → введение → Introduction.tex требует - > tmp → введение → Introduction.aux ******
Подчеркнутый каталог должен существовать. Поэтому в случае управления subversion зафиксируйте также структуру каталогов в папке tmp (без файлов *.aux).