25

私は VisualSVN (Tortoise を使用) を使用しています。誤ってフォルダを別の場所に移動してしまいました。元に戻そうとすると、SVN はこのエラーを吐き出します。以前に一度発生し、何をしているのかわからずにランダムな更新/コミットを行うことができ、「修正」されました。同じ魔法を再び引き出すことはできないので、ファイルとディレクトリを取得する方法とツリー競合の方法を知る必要があります。

ありがとう!

4

6 に答える 6

17

現在どのような状態かはわかりませんが、おそらく次のことをお勧めします。

  1. フォルダーをリポジトリから完全に移動します
  2. するsvn cleanup
  3. するsvn update
  4. フォルダーからファイルをコピーして (.svn ファイルなしで)、svn が更新されたばかりの古いソース ファイルを上書きします。
于 2010-04-13T01:46:53.540 に答える
16

同じエラー (ツリーの競合) がありましたが、ワークフローが異なりました。

ロックされているプロセスを見つけます。Handle.exe をダウンロードし、解凍先のフォルダーを開きます。次に実行し"C:\path\handle.exe" "C:\path\FileOrFolder"ます。

https://technet.microsoft.com/en-us/sysinternals/bb896655.aspx

再現するワークフロー:

- delete folder (having one of the files locked by a program that is within this folder)
- commit parent folder of folder you deleted, and look for red text of the folder you deleted (it should be brown, not red if there aren't issues in SVN)

修正するには:

- forcefully kill the lock (or close the program so it releases the lock)
- run cleanup command on folder you deleted
- revert folder you deleted
- delete folder you deleted
- commit parent folder of folder you deleted
于 2012-04-02T19:18:18.657 に答える
2

http://rubyjunction.us/subversion-hell-sh

編集

リンクからのシェルスクリプトは次のとおりです。これは、Linux / Unixユーザーに役立つ可能性があります...

#!/bin/sh

if [ "" == "$1" ] ; then
  echo "Usage: subversion-hell.sh A_PROJECT"
  echo "A_PROJECT should be a Subversion folder you are having problems with,"
  echo "and you should be in the folder above A_PROJECT"
fi

DIR=`pwd`
PWD=$DIR
DIR=`echo $DIR | sed s/^.*\\\/trunk/trunk/`

mkdir ~/tmp/       2>/dev/null
rm -Rf ~/tmp/$1   2>/dev/null
mv ~/$DIR/$1 ~/tmp/
find ~/tmp/$1/ -iname '.svn*' -exec rm -Rf {} \; 2>/dev/null
cd $PWD
echo svn co YOUR_URL_HERE/$DIR/$1 $1
svn co YOUR_URL_HERE/$DIR/$1 $1
cp -Rf ~/tmp/$1/* $PWD/$1/

# YOUR_URL_HERE can be found by looking in file .svn/entries, near the top
于 2010-10-26T20:06:21.930 に答える
1

Linux環境でブランチを削除しようとしたときに同じ問題が発生しました。私がしたことは:

  1. svn ブランチを元に戻す
  2. svnアップ
  3. svn クリーンアップ
  4. svn remove branch - 削除するブランチを再度マークします
  5. svnci

何が問題だったのかわかりませんが、2 週間で 2 回経験しました。

于 2012-08-23T07:09:18.293 に答える
0

移動したフォルダーのバックアップを保持します。SVN で、TortoiseSVN>>Resolved をクリックします。ファイル/フォルダーを選択して解決します。svn データを更新/コミットします。

于 2016-09-21T12:05:42.207 に答える