ブログ - Subversionで大量ファイルのupdateが失敗する E155004
大量のファイルをupdateしようとするとこんな感じでエラーがでる.
表示されている通りsvn cleanup後に,再度svn updateすると続いて続いてダウンロードされるが,またしばらくするとエラーになる.何度もなんどもsvn cleanup;svn updateを繰り返しやればよのだけれど,とても面倒.いつ終わるか不明だし.
これは,svnのバージョン1.8以降,デフォルトの転送モードがBulkからSkeltaに変更されたことによる影響なのだそうです.
バージョンを確認してみる. 1.9.4なので,該当する.
SVNのサーバ側の設定ファイル(vcs.conf)にSVNAllowBulkUpdates preferを設定することで対応できるが,サーバの設定を変えるのは大変だというとこは,クライアント側でも設定できる.
ホームディレクトリ配下に,.subversionsというディレクトリがあるので,その中を確認.
このserversに以下のように記述を追加すれば完了.
これでエラーが出なくなった.
$ svn update
svn: E155004: Run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
svn: E155004: Working copy '/Users/ujpadmin/svn/doc' locked.
svn: E155004: '/Users/ujpadmin/svn/doc' is already locked.
$
これは,svnのバージョン1.8以降,デフォルトの転送モードがBulkからSkeltaに変更されたことによる影響なのだそうです.
バージョンを確認してみる.
$ svn --version|head
svn, version 1.9.4 (r1740329)
compiled Apr 27 2016, 17:15:31 on x86_64-apple-darwin14.5.0
Copyright (C) 2016 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository access (RA) modules are available:
$
SVNのサーバ側の設定ファイル(vcs.conf)にSVNAllowBulkUpdates preferを設定することで対応できるが,サーバの設定を変えるのは大変だというとこは,クライアント側でも設定できる.
ホームディレクトリ配下に,.subversionsというディレクトリがあるので,その中を確認.
$ cd .subversion
$ ls -la
total 24
drwxr-xr-x 6 ujpadmin staff 204 4 7 15:51 .
drwxr-xr-x+ 61 ujpadmin staff 2074 8 17 15:47 ..
-rw-r--r-- 1 ujpadmin staff 4276 4 7 15:51 README.txt
drwx------ 6 ujpadmin staff 204 4 7 15:51 auth
-rw-r--r-- 1 ujpadmin staff 6369 4 7 15:51 config
-rw-r--r-- 1 ujpadmin staff 7679 4 7 15:51 servers
$
$ echo "http-bulk-updates = yes" >> servers
$ grep http-bulk-update servers
http-bulk-updates = yes
$