15

私は(私のサーバー上で!)実行することを計画しています

svnアップデート

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

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

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

--forceオプションがありません

4

5 に答える 5

15

オプションがない場合--forceは、どちらも持っていないと思います--accept。svnアップデートには、--accept「自動競合解決アクションを指定する」という新しいオプションがあります。次のようになります postopone, mine-conflict, theirs-conflict, edit, launch, theirs-full, mine-full or base

助けにsvn help updateなります!

于 2011-05-02T02:18:57.790 に答える
5

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

于 2011-05-01T15:24:17.037 に答える
3

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

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

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

于 2011-05-01T15:41:23.693 に答える
2

ソース管理とは独立してアーティファクトの管理とコンテンツ配信を続けることもできますが、理解しているように、これはWebサーバーのコンテンツが手動で変更されている可能性があるSVNから直接Webサーバーのコンテンツを更新しています。これをスクリプト化したい場合は、「ディレクトリをクリック」は機能しませんが、これは私が使用しているものです

svn update --accept theirs-full
于 2020-07-02T22:34:21.670 に答える
0

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

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

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

于 2014-06-03T13:06:15.810 に答える