web-dev-qa-db-ja.com

ローカルファイルを上書きするようにSVN更新/チェックアウトを強制する

私のサーバーで実行する予定です!

svn update

lIVE Webサイトを更新して更新します。ただし、サイトのスクリプトが機能しなくなる 'C'の競合が心配です。チェックアウト/更新プロセスですべてのローカルファイルを上書きするにはどうすればよいですか(私のサーバー上!)?

私は1つの解決策が別のディレクトリでこれを行うことであることを知っています-他にもっと効率的なものはありますか?

私は見てきた 現在のファイルを上書きするようにSVNチェックアウトコマンドを強制する

--forceオプションがない

15
siliconpi

ディレクトリをクリックしてベースに戻し、更新すると同じ効果がありますか?

5
iain

--forceオプションがない場合は、--acceptもないと思います。 svn updateには、「自動競合解決アクションを指定する」ための--acceptという新しいオプションがあります。 postopone, mine-conflict, theirs-conflict, edit, launch, theirs-full, mine-full or baseのようになります。

svn help updateが役立ちます!

Subversionに作業コピーの更新を依頼する必要があります。マージが必要な場合は、Subversionが通知します。そうでない場合は、他のすべての最新のものになります。

より良い解決策は、コードをSubversionにマージし、作業コピーを完全に吹き飛ばしてから、プロジェクトから完全にチェックアウトすることです。

リポジトリには、作業コピーではなく、意味のあるすべてのコードを含める必要があります。

3
duffymo

私はこれが非常に古い質問であることを知っていますが、自分でこれを行う方法を見つけようとして、これを思いつきました:

svn status --no-ignore | grep '^\?' | sed 's/^\? //' | xargs -Ixx rm -rf xx

基本的に、これはリポジトリ内のバージョン管理されていないすべてのファイルをリストしてから、そのリストを強制rmにパイプしてパージします。これにより、プロンプトなしでバージョン管理されていないすべてのファイルが削除されたので、何をしているのかを確認してください。

0
Carnix