私はソフトウェアプロジェクトを引き継ぎ、すべてをTortoise SVNを使ってSVN(Assemblaにある)の下に置くことに決めました。トランクはROOTの下にあります。したがって、トランクにはアプリケーション全体が含まれていました(これには1.0というタグが付いています)。私の最初の大きな特徴として、 "dev"という名前の機能ブランチを作成しました。SVNブランチ/ツリーの競合を '修正する'方法は?
トランクブランチの変更をdevブランチに問題なくマージできました(私は小さなバグ修正を行っていたため)。私の機能が完了したら、私はトランクブランチにマージしました。この時点まではすべてが機能していました。 ROOTの下の新しいコードは、新しい機能を適切に示しました。しかし、私は(マージの結果の)コミットし、今は私がルートまたはdevブランチからマージしようとするたびに、SVNは、多くのファイルで "ツリーの競合"について苦情を言います。私がマージしてから触れなかったファイルさえも。私は紛争を解決しようとしましたが、成功しませんでした。
私は唯一の開発者だから、リポジトリの大きな変更は本当に気にしません。しかし、可能ならば、すべてのファイルの履歴を保持したいと思っています。
この問題を解決するにはどうすればよいでしょうか? ROOTトランクのすべての最新ファイルにファイルの「明確な」バージョンとしてタグを付ける方法はありますか?
[EDIT]の詳しい情報
- はい、 'メイン' と 'トランク' は同じものです。私は私の質問を明確にしました
- フィーチャーブランチからマージしたときに、最初にトランクから別のマージを行い、最新のトランクの変更を取り止めましたか "はい、トランクは最新のものでした。
- "コミット時にすべてがうんざりだ":コミットがうまくいっていたのですが、トランクからトランクにマージするとすぐに、SVNは "ツリーの競合。私は200以上の木の競合を持って
- 。私が探しているだから何でコマンド 『すべてを受け入れる』
[編集] elhoimの解決策は私の問題を解決しませんでした。しかし、彼はSVNのバージョンの問題で正しかった。現在(2009-10-28)、AssemblaはSVN v1.5.1を使用しており、tortoiseSVNはv1.6です。だから私は木の葛藤が大変だったのです。 elhoimのリンクで提供されているソリューションを試してみましたが、うまくいきませんでした(HEAD-to-HEADマージを試す前に複数回マージを試みましたが、いくつかのファイルはルートブランチに引き継がれませんでした)。
HEADからHEADへのマージがまだうまくいかないことを見て、ブランチフォルダ内のすべての ".svn"ファイルを削除し、ファイルをROOTフォルダにコピーしてコミットすることにしました。
@eldimo: 'dev'に 'main'をマージしたとき、 'main'ブランチはトランクと同じですか?または、トランクがまだ見ていなかった「メイン」に座っている変化がありましたか? – dls
@dls:私は彼が同じ支店を意味するために "main"と "trunk"という用語を使うと思う。 –
@eldimo:より分かりやすくするためにいくつかの詳細が必要です。1.機能ブランチから元に戻ったときに、最初にトランクから別のマージを行い、最新のトランクの変更を取り止めましたか? 2.コミット時に「すべてがうまくいった」という意味はどうですか?コミット中に受け取ったエラーメッセージを供給することは可能ですか? –