web-dev-qa-db-ja.com

SVNを使用して誰がファイルをロックしたかを確認するにはどうすればよいですか?

私たちはSVNサーバー1.4(私は思う)を使用しており、クライアントはコマンドラインクライアントまたはTortoiseSVNのいずれかです。

15
detroitpro

コマンドラインクライアントは、コマンド「svninfo」でロック所有者を表示します。

TortoiseSVNでは、「プロパティ」コンテキストメニュー(「Subversion」タブ)でロックの所有者を確認できます。

16
sleske

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を使用して、誰がロックを設定したかを見つけることができます。以下の「ロック所有者」に注意してください。

$ 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.
28
Mike Caron

TortoiseSVNのリポジトリブラウザ機能を使用すると、ファイルをロックしたユーザーを示すロック列があります。

ローカルの作業コピー-> TortoiseSVN-> repo-browserを右クリックします。

13
detroitpro

確認する手順:

  1. ロックを決定するファイル/フォルダを右クリックします

  2. TortoiseSVNオプション>>リポジトリブラウザに移動します

  3. 新しいウィンドウが開き、テーブルビューが表示されます

  4. 表のロック列には、誰がロックを持っているかが表示されます

5
Rupesh
  1. ファイルを右クリックし、TortoiseSVNを選択して、変更を確認します
  2. [リポジトリを確認]をクリックします
  3. 右にスクロールして、[ロック]列を表示します
4
Pradnya

次の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)
2
user1379376

赤い本 セクション「ロックの検出」を確認してください。私はそれが答えを含んでいると信じています。

0
andreas buykx

。auxファイルに関してもこの問題がありました。私の場合の解決策/問題は、1よりも深い深さを持つサブディレクトリは許可されないということでした。これを使用する場合は、tmpフォルダー内のサブディレクトリが存在している必要があります。例えば-> src->はじめに-> introduction.texには-> tmp->紹介-> introduction.aux**​​****

下線付きのディレクトリが存在している必要があります。したがって、Subversion管理の場合は、tmpフォルダー(* .auxなし)ファイルのディレクトリ構造もコミットします。

0
Michael