0

削除したいsvnディレクトリに、コミットされていない不要なファイルがたくさんあります。ルート svn ディレクトリでチェックアウトするだけですか、それとも最初にすべてを削除する必要がありますか?

ありがとう。

4

2 に答える 2

1

.svn ディレクトリ (Subversion <= 1.6 を使用している場合は /directories) 内にあるものを保持している限り、失う可能性があるのはローカルの変更だけです。

ローカル ファイルを削除してから更新すると、最初にファイルが (変更されていない状態で) 再インストールされ、次に更新が実行されます。svn revertこの再インストールは、ほとんどの場合、ファイルを単に -ingすることと同じです。

したがって、ローカルのsvnプロパティの変更(またはローカルのコピーと削除)も行う場合を除いて、実行されるIOの量が少し異なるだけなので、どの方法を選択するかは実際には関係ありません。この場合、作業コピーを svn revert する必要があります。

いずれにせよsvn status、完了したら を実行することをお勧めします。これにより、さらに作業が必要なローカルの変更がまだ残っているかどうかがわかります。

于 2012-09-18T21:15:13.217 に答える
0

ファイルまたはディレクトリを削除してを実行するとsvn update、そのファイルまたはディレクトリが現在の元の状態に復元されます。特定のディレクトリで行ったすべての変更がガベージであると判断した場合、これをかなり行います。これが問題を引き起こす可能性があるのは(問題を引き起こす可能性がありますか?)、svn move削除しないディレクトリから削除する予定のディレクトリに移動した場合です。たとえば、現在のディレクトリからディレクトリにファイルを移動しましたsrc。次に、srcディレクトリに多数の変更を加えます。ディレクトリの削除は、src1.7より前のバージョンのSubversionでは機能しません。

正直なところ、svn revert(スイッチを使用--recursiveしてディレクトリに深く入り込むことができるので、svn --recursive *すべてを実行することができます)を実行する方がよいでしょう。次に、を試して、svn statusまだ並べ替えられていないファイルがあるかどうかを確認します。競合がある場合、svn resolvedそのファイルまたはディレクトリでを実行しsvn revert、通常のsvn revert実行が実行しない場合は、を実行するとそれをクリーンアップするのに役立ちます。

svn status私の提案は、どのような変更があるかをあなたに伝えることに依存することです。元に戻すときに表示されるものがある場合はsvn status、それがなくなるまで解決し、更新します。

作業ディレクトリ内のすべてを本当に削除する場合は、ディレクトリ全体を削除して、新しいチェックアウトを実行してください。.svnそうすれば、ディレクトリ/ディレクトリを台無しにする問題が発生することはありません。

于 2012-09-19T00:57:22.667 に答える