2011-06-30 13 views
1

私はトランクの作業コピーを変更しました。それから、別の支店に切り替えて、私がそれにコミットできるようにしたかったのです。私はやった、今私のプロジェクトは混乱です。私が切り替えたブランチは、トランクの後ろにあり、私が修正したファイルがありませんでした。挫折し、私はトランクに戻りました。作業コピーよりも古いブランチにSVNを切り替える

今、私はいくつかの場所で "ローカル編集、受信時にスイッチを切る"と言うツリー競合があります。私は紛争のためにこれらをコミットすることはできません。私が見ることができる唯一のオプションは、ローカルの変更を元に戻すか、基本的にプロジェクト全体を再チェックアウトして、すべての変更を失うことです。

もう1つの問題 - 私はこのようなツリーコンフリクトを起こしたフォルダの1つを元に戻し(そして削除した)。今、私はフォルダがリポジトリに存在するのを見ることができますが、それは私のローカルプロジェクトから消えてしまい、更新は私の作業コピーに持ち込まれません。ここで何が起こっていますか? 1.リポジトリに存在します。2.作業コピーには存在しません。なぜなら、それを削除したからです.3。更新しても作業コピーには反映されません。なぜ???

これはなぜ難しいですか?私は地元の変更があり、私はそれらをコミットしたい。なぜ私は別の支店に切り替えて、また戻ってくるのが大事なのか分かりません。私が切り替えるブランチ上にファイルが存在しない場合、私はブランチにファイルをコミットしないようにするのはなぜですか?

これは、私が切り替えたブランチ上に存在しなかったファイルのローカルな変更であった、ツリーの競合の1つとして、Eclipseが私に与えるものです。私はそれがブランチになかったので私が切り替えたときにファイルを削除したいと思っています。だから私はこれをどうやって修正するのですか?本当に私がしたいことは、ブランチに追加して変更をコミットすることですが、今は矛盾があるので、できません!

Resolve Tree Conflict on my_jsp.jsp 
Conflict Description: 
local edit, incoming delete upon switch 
Source left: (file) https://......./WebContent/WEB-INF/jsp/[email protected] 
Source right: (none) https://......./WebContent/WEB-INF/jsp/[email protected] 

私に与えられる唯一の選択肢は、元に戻すこと、取り除くこと、または比較することです。すべてが受け入れられません。私は地元の変更がたくさんある!

助けてください!おかげで、あなたの最初の問題のために= D

答えて

1

は:あなたができる

ことの一つは、あなたの現在の変更のパッチを作る、そしてトランクに戻すと、あなたのパッチを適用しています。あなたがLinuxを実行している場合のコマンドは、バックあなたは(たぶん)したところ、多かれ少なかれにあなたを取得する必要があります

svn diff > ~/patch.diff 
svn switch svn://path/to/trunk 
patch -p0 < ~/patch.diff 

ようになります。あなたがLinuxを実行していない場合、EclipseやSVNTortoiseにも同様のコマンドがあるはずです。新しいブランチに行きたいときは、もう一度差分を作成して安全にしてください。あなたが本当にはるかに遅れている場合は、手動で変更する必要があるかもしれません。または、トランクで最初にブランチをマージすることを確認してください(オプションの場合)。あなたの第二の問題については

私は似たものを見てきたと思いますが、私は、問題が何だったか覚えていません。見つからないファイルを更新するのにsvn up <file_name>を試しましたか?

+0

パッチを当てることは一度もありませんでしたが、それは解決策のように思えます。私はメモ帳に5ファイル分の変更をコピーして元に戻し、手動で再適用しました。私はとにかくあなたの答えを受け入れるでしょう。ありがとう! –

関連する問題