0

開発にビジュアルスタジオを使用しています。トランクの2つの機能ブランチ、ブランチPとブランチEを作成しました。ブランチEIは、独自のディレクトリに新しいプロジェクトを追加しました。ブランチ P に切り替える前に、このディレクトリを削除する必要があります。そうしないと、混乱が生じます。私が覚えていれば、これはうまくいきます。しかし、他の誰かが私が見逃した新しいプロジェクトを追加したり、ディレクトリを忘れたりすると、再び混乱します。

*.sou、*.user bin、および obj がグローバル無視に設定されています。

EからPに切り替えるときに、ブランチPに存在しないディレクトリをブランチEから削除するのを忘れると、混乱が始まります。バージョン管理されたファイルは作業コピーで削除されますが、Subversion は何をすべきかわからないため、ディレクトリは残ります。それはいいです。次に、作業コピーを P から EI に切り替えると、「ローカルのバージョン管理されていない、切り替え時に追加される」という競合が発生します。

これを処理する最善の方法は何ですか?

解決されたコマンドは、resolve コマンドを使用するように指示します。解決コマンドは、ツリーの競合に対して私が持っている唯一のオプションは「作業を受け入れる」を使用することであると言っていますが、これは間違っていますが、私が見る唯一の選択肢です。そのため、新しいライブラリが削除対象としてマークされていることを発行すると、これは必要なものではありません。

そのため、新しいライブラリをサブバージョンの管理下にない別のディレクトリにチェックアウトする必要があります。変更をブランチ E にコミットして競合を解決します。これにより、新しいライブラリも削除されます。次に、完了したばかりのチェックアウトからファイルを作業コピーにコピーし、新しいディレクトリを追加して、現在の場所を取得する必要があります。それが何をしなければならないかは言うまでもありません 歴史.

私は何か難しいことをしているに違いありませんが、本の中には私を導くものは何も見つかりません.subversionメーリングリストも役に立ちません. 誰かがより良い解決策を見つけましたか?

4

1 に答える 1

0

最終的に Subversion メーリング リストから回答を受け取りました。実際に私は2つ受け取りました。

1) ブランチごとに異なる作業ディレクトリを作成できます。それはいくつかの場合にはうまくいくかもしれませんが、環境も複製する必要があります。影響を最小限に抑えるために物事をリダイレクトできるかもしれませんが、時間のかかるソリューションを探しているわけではありません。

2) --force オプションを使用できます。これで治ります。それが他の問題を引き起こすかどうかを調べますが、今のところ、私はすぐに進むことができます.

于 2013-08-26T19:19:51.090 に答える