2011-01-13 7 views
6

私はさまざまな場所でチェックアウトされたリポジトリを持っています。私は別のリポジトリの外部にあるフォルダXを持っています。私はXをローカルにしたい。他の質問がありますが、彼らは私の困難に遭遇していないようです。svn:外部を同じ名前のローカルフォルダに置き換えるクリーンな方法

私がしたことは、svn:externalsを編集してその行を削除したことです。それから私はレポをコミットしました。その後、フォルダを取り出し、.svnのエントリをすべて削除して(通常のフォルダにする)、svn addを編集してコミットしました。これはうまくいった。

しかし、私がレポの別のチェックアウトを更新したとき、私は問題に遭遇しました。最初のエラーのようなものだった:

UUID mismatch: existing directory XXX was checked out from a different repository. 

[OK]を、すでにsvn upは失敗しますが、私は、フォルダを削除すると、更新を再試行してください。今では、コンテンツの再取得のすべてを管理し、今は新しいエラーを取得する:

Can't remove file XXX: Access is denied 

私はもう一度アップデートしてみてください、と何も起こりません。そのフォルダ内のファイルを削除し、ルートから再度更新すると、何も起こりません。私はフォルダXを削除し、何も起こらない - それはちょうどそれを忘れてしまったようだ!私の唯一の償還は、Xのルートディレクトリを削除し、レベルを下げることからsvn upを削除することです(これはすべて、これもまた外部のサブフォルダで起こっていたものです)。

いいえ..このリポジトリがチェックアウトされているすべてのサイトで手動のrigamaroleを実行する必要はありません。何をすべきか?

答えて

0

動作するかどうかわかりませんが、試してみる価値があります。

externalsを削除したリビジョンにアップデートしてから、そのアップデートを頭に付けてください。

たぶん
// XX revision of the externals deletion 
svn update -rXX 
// to see if the folder is deleted 
svn status 
// delete the folder if he is on the local working copy 
svn rm folder 
// Update to head 
svn update 
3

ないきれいな解決策が、それは動作します:

  • (SVNのRMフォルダを使用しないでください)あなたにリポジトリ
  • からのバージョンにアップデートをローカルコピーを外部のフォルダを削除します
関連する問題