2011-09-12 22 views
4

私はEclipse IndigoとsubeclipseをEclipseのsvnプラグインとして使用しています。今ここに状況があります。プロジェクトをリモートリポジトリと同期させていました。コンフリクトがあり、マージせずにファイルの1つに対して「マージされたマーク」を間違ってクリックしました。私はEclipseといくつかの他の愚かなハッキングを再開しようとしました。しかし、何もうまくいかない。では、「マージされた」マークを元に戻す方法はありますか?マークを元に戻す

+0

もう一度同期するとどうなりますか? –

+0

最も簡単な解決方法:ファイルを別の場所にコピーし、作業コピーベースに戻してからファイルをコピーし直します。 –

+0

@Eliもし元に戻ってしまった場合は、私のファイルをコピーして、送信された変更を表示し、受信した変更を表示しません。 –

答えて

5

マークされているとは、ファイルを比較して問題を手動で解決した後に、ファイルのローカルバージョンに必要なコンテンツが含まれていることを意味します。 SVNのメタデータが満足できるようにSubclipseはローカルファイルを更新しなければならないので、ファイルの現在の内容を保存し、svn updateを実行してからファイルを置き換えます。

これで、ファイルをリポジトリ内のものと一致させる場合は[チーム]> [復帰]を実行し、差分をもう一度調べ、さらに変更を加えたい場合は[ベースリビジョンと比較]を実行できます。

+0

ええと...これは私が従った方法ですが、プロセスを元に戻すことができれば素晴らしいことでした。私はまた、プロセスを元に戻すためにsvnメタデータのフラグを見つけることを試みた。しかし、成功はありません。 –

+0

さて、あなたは本当にsvnの更新を元に戻すことはできません。もう一度updateを使用し、古いリビジョン番号を指定する以外のことはできません。 –

-1

ローカルプロジェクトを削除して再インポートします。これにより、偶発的な「マージ済みとしてマークする」アクションが取り消されます。削除によってコミットされていない作業が失われないことを確認してください。

0

マークの提案はどちらも私のためには役に立たなかった。クラスは元の(結合前の)状態に戻りましたが、再び結合しようとすると「no differences detected」というメッセージが表示されました。

私のために働くようになったのは、>ローカルヒストリーと比較することでした。私はMark As Mergedを押す直前のバージョンを選ぶことができました。元のMerge(これはすべての競合を示していました)中に比較エディタビューに戻ってきました。私は、コードを正しく変更して、再度マークして結合することができました。