2009-08-26 12 views
1

私はそれを考えずに何かをしました。私はTortoisSVNを使ってローカルの変更を含む作業ディレクトリからブランチを作成しました。私はそれがコピーをしてワンショットで切り替えると仮定しています。今、私の新しいブランチの最初のバージョンは、どのバージョンのトランクとも異なっています。問題は、このブランチをトランクに再統合するにはどうすればいいですか?私がブランチの最初と最後のバージョンの間にデルタを使用すると、そのチェンジセットは私の作業ディレクトリにあった最初の変更を含みません。作業ディレクトリから作られた再統合ブランチ

ブランクの最新バージョンからブランチを作成してローカル変更をコミットした場合、ブランチの最初のバージョンが対応するバージョンのトランク。

答えて

0

私はブランチを作成してチェンジセットの開始点として使用する直前に、トランクのバージョンを見つけることができます。しかし、厄介なようだ。よりエレガントな解決策はありますか?

編集:はいもっと洗練されたソリューションがあります。私は間違っていた。ブランチは、作業ディレクトリから作成されたブランチであっても、分割前のトランクのすべての履歴を保持します。私はTortoisSVNを使用しているので、分割前のバージョンを確認するには、ログウィンドウの「コピー/名前変更時に停止」のチェックを外すだけです。それから、私は変更セットの開始点としてブランチを作成する直前にバージョンを使用しました。結局問題はなかった。

+0

よりエレガント -

  • trunk(ステップ2、すでにそこに初期の変更)を使用してinvalidブランチを再統合します。あなたはこのプロセスを改善するためにできることはほとんどないと思っています。 – RaYell

  • 0

    これはあなたに役立つでしょう。

    私はあなたの新しい支店をinvalidと呼んでいます。

    1. invalidブランチとトランクの間の差分を確認します(ちょうど新しい無効なブランチを作成する前にリビジョンを使用する - のはこの1つinvalidを呼びましょう) - あなたは無効なブランチを作成するときにコミットしている作業コピーから変更与えることtrunkの一部ではありません。
    2. これらの変更をトランクに適用します。変更をコミットし、同じステップでブランチを作成していないだろう
    +0

    この場合、なぜ2つのマージが必要ですか?ブランチが作成される直前のトランクバージョンと無効なブランチのHEADとの間のデルタをマージすると、同じ結果が生成されます。 – Dima

    関連する問題