2011-08-15 21 views
1

"y"という名前のフォルダがありますが、バージョンコントロールには保存されていません。私はバージョンコントロールの下にあるフォルダ "x"を持っています。その後、私はその後、Non-versionedまたはIgnoredを読み込むすべてのファイル/フォルダを安全に削除することができると仮定することができ、フォルダxSubversionに基づいてファイルを削除するにはどうすればよいですか?

TortoisesvnCheck for Modificationsコマンドを使用することができますので、私は、xyをコピーします。私のWCは1年も経っても問題なく動作しています。

バッチスクリプトを作成するためにSubversionによってマークされたファイルのリストを取得するにはどうすればよいですか?

更新。

私はかなり遠いですが、私はこれを自動化する方法が必要だと思います。

xをyにコピーしました。私は変更をチェックした。ダイアログを右クリックしてパスをクリップボードにコピーできます。私はUnversionedまたは無視されたファイルのみを選択します。

パスをバッチファイルに貼り付けます。私はこれを作成するためにいくつかの魔法を見つけ置き換えます。

XCOPY www.root\* www.root.backup /I /Q /R /S /E 
CD www.root 
DEL "Appraisals\*.*" /q /s 
DEL "jobs\Backup\*.*" /q /s 
DEL "New\Portability\BACKUP\*.*" /q /s 
DEL "Footer\Codes\*.*" /q /s 
DEL "QL\Commercial\*.*" /q /s 
DEL "images\Discard\*.*" /q /s 
DEL "Dup SH Pages\*.*" /q /s 
DEL "ExtensionRequest\*.*" /q /s 
DEL "ExtFile\*.*" /q /s 
DEL "Ad\Include\*.*" /q /s 
DEL "Bio\Include\*.*" /q /s 
DEL "Contact\Include\*.*" /q /s 

更新#2

私が類推し、例を挙げてより良い仕事なので、ここではシナリオと私は結果になりたいです。

私はレポに非常に単純なトランクがあると想像してください。 1つのファイルしかありませんcode.txt私はそのファイルに変更を加え、それらをリポジトリに戻します。変更がリポジトリにコミットされた後、私はこのファイルのみをレポからプロダクションにエクスポートします。

他の開発者が来て、私に話をしないと想像してください。これらのファイルは、すべての種類のファイルを本番サーバーに直接コピーします。

copy of code.txt
bob's copy of code.txt_backup
copy of copy of copy of bob's copy of code.txt_backup.backup

今、私はこれを実現し、subverionで自分のコードを保護することを決定し、想像してみてください。私はそれを私のレポに加えてコミットする。今では時間がたつにつれて、私はcopy of copy of copy of bob's copy of code.txt_backup.backupが実際に生産の一部であり、他の2つのファイルはゴミであることを認識しています。

私のWCからcopy of code.txtbob's copy of code.txt_backupというファイルを削除してコミットします。私もcode.txtに少し変更を加える。私はコミットする。

これまでのリビジョンと比較して、エクスポートを実行すると、Tortoiseは変更されたファイルをエクスポートします。

だから私は生産時に孤立した2つのファイルを持っています。私はSubversionのHEADにないという事実に基づいて、それらをプロダクションから削除するスクリプトを望みます。

ここで、5300個のファイルとフォルダがあるとします。 ....

+0

新しい提案で私の答えを更新しました。 – JVerstry

答えて

1

問題が正しく理解されている場合は、yの内容をチェックアウトしたxにコピーするだけで済みます。

次に、Windowsエクスプローラでxを開きます。あなたのPCに亀のsvnがインストールされているので、バージョンの下にないファイルには青いアイコン、赤いアイコンで修正されたファイル、緑色のアイコンで修正されていないファイルが表示されます。

これはあなたが探しているものですか? Y.内のすべてのFを削除X.

  • のFすべてのファイルを介し

    1. Y.
    2. のコピーを作成します
    3. ループ
    4. EDIT

      は、私はちょうど別の考えを持っていました

    最後にYにはXにはないファイルが含まれています、いいえ?その後、XをYに追加した後にXから削除することができます。

  • +0

    これは最初の部分です。今、私はすべての青いアイコンのリストであるスクリプトを生成して、y "DELETE THESE FILES NOW!"に適用したいと思います。 –

    +0

    @Doug残念ながら、Xで作成された.svnファイルを分析しない限り、これが可能であるかどうかはわかりません。私はそれを手動で行うと思います。他の誰かが良い提案をしているかもしれません。 – JVerstry

    関連する問題