アイキャッチ

実装・エラー解決

EclipseからSubversionに共用しようとしたら失敗した話

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では新しいチェックアウト先を別プロジェクトとして開くと、元のプロジェクトを手元に残した状態で比較できます。

出典 Version Control with Subversion

-実装・エラー解決
-