2012-04-22 22 views
9

私は新しいリポジトリに追加したい2つのフォルダを持っていますが、すでにバージョン管理下にあるため追加を拒否しています。私はそれらのフォルダとそのサブフォルダ内のすべての.svnフォルダを削除しましたが、SVNはまだ何とか知っています。どのレポが彼らの一部だと思っているかを見て、そこにいないように指示し、削除したり移動したりすることなく新しいレポに入れることができますか?SVNは既にバージョン管理下にあると考えています

答えて

17

ローカルの作業コピーにあるすべての.svnフォルダを削除した場合は、それ以上バージョン管理しないでください。 SVNの古いバージョンは、ルートフォルダまたは直接サブフォルダだけでなく、すべてのフォルダに隠しファイル.svnを作成するために使用します。

.svnフォルダを手動で削除しないようにするには、exportコマンドを使用して、ターゲットディレクトリに完全バージョン以外のコピーを作成することもできます。

このエラーの原因となる別の問題は、新しいリポジトリに、追加しようとしているディレクトリ/ファイルと同じ名前のファイルまたはディレクトリが既に存在することです。 名前の競合を避けるために、空のディレクトリにファイルをインポートすることをお勧めします。

ので、要約し、手順は次のようになります:

  • あなたの現在のリポジトリから

    • エクスポートファイルまたは手動ですべての.svnフォルダを削除、新しい/ターゲット・リポジトリ
    • に空のフォルダを作成しますターゲットリポジトリフォルダからローカルコピーへのチェックアウトを実行します。
    • コミットを実行してすべての新しいファイルを追加します。
  • +0

    エクスポートとインポートが速くなり、すべての '.svn'ファイルを削除しようとしました – Biotox

    2

    これらのファイルが既にバージョン管理されている場合、.svnフォルダを削除することはできません。

    (1).svnフォルダを削除した、または以前に.svnフォルダを削除したすべてのフォルダを削除します。

    (2)SVN UPDATEを実行して、それらのフォルダを再作成し、すべてのものを元に戻します(次の手順で削除しても)。

    (3)ここで問題のフォルダを削除してください。

    (4)リポジトリからこれらのフォルダの削除をコミットするSVNコミットを実行します。さて、彼らはあなたが望むように、リポジトリから消えてしまいました。

    (5)これでフォルダをもう一度作成して、何でもできます。新しいSVNリポジトリを作成できます。それらを既存のリポジトリに再追加することができます。

    手順(1)〜(2)は冗長で不要なように見えるかもしれません。しかし、安全であるためには、あなたはそれをとにかく行うべきです。

    関連する問題