Eclipseから既存プロジェクトをSubversionへ共用しようとしたとき、次のエラーが出ました。
svn: E155000: … is already a working copy for a different URL
対象のフォルダーは、指定したURLとは別のURLを参照する作業コピーでした。Eclipseで接続を解除していても、Subversionが作業コピーと認識することがあります。まず、現在のURLとリポジトリのUUID、未コミット差分を確認します。
#!/bin/sh
set -eu
if [ "$#" -ne 1 ]; then
printf '%s\n' 'usage: sh inspect-working-copy.sh WORKING_COPY' >&2
exit 2
fi
cd -- "$1"
svn info .
svn status --no-ignore .作業を続ける前に、編集済み・未追跡のファイルを含むプロジェクトフォルダー全体を別の場所へコピーします。svn diff は差分確認に使えます。未追跡ファイルやバイナリの保全にはフォルダーのコピーが必要です。
- 同じリポジトリの別ブランチへ移る場合は、変更を退避してから
svn switchを使います。 - 同じリポジトリが別のサーバーやURLへ移転した場合は、移転先のUUIDを確認して
svn relocateを使います。 - 別のリポジトリに移す場合は、別フォルダーへチェックアウトし、必要なファイルだけコピーします。古い作業コピーは、移行先の差分と動作を確認するまで保管します。
Eclipseでは新しいチェックアウト先を別プロジェクトとして開くと、元のプロジェクトを手元に残した状態で比較できます。
