情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

ベースにしていたソフトウェア(CVS)が更新されたときの地味な作業(EGit)メモ

CVS (2) EGit (4) Eclipse (60) Git (9) Java (37) Overlay Weaver (4)

1.とりあえずコミット

すべてコミットした状態で作業を始めます。

2.最新のOverlay WeaverをCVSから取得

最新のoverlay weaverをCVSからインポートし、新しいProjectを作成します。

3.CVSフォルダを削除

「プロジェクト右クリック>Team>Disconnect...」をクリックします。

「Are you sure you want to disconnect CVS from `overlay weaver'?」と表示されるので「Also delete the CVS meta information from the file system.」を選択して「Yes」をクリックすることで、全フォルダにある「CVS」フォルダを削除してもらいます(.cvsignoreは残る)。(.gitignoreでCSVフォルダを除外して、CVSを使ってチェックアウトしてくる方がよい気がしてくるが、1プロジェクトで使えるCVSは1種類なので、Gitを使っているプロジェクトに対してCVSの操作は使えない)

4.オリジナルOverlay Weaver用のブランチへ移動

プロジェクトを「Switch To...>Others」から、オリジナルOverlay Weaver用ブランチへ移動します(Switch to...が「git checkout」に相当)

5.現在のファイルを削除

Navigatorビューで、プロジェクト内のほぼ全ファイルを削除します。ただし、Gitレポジトリに保存していないファイルなどを消してしまうと困るので(.settingsなど)、Gitにコミットしていない必要なもの(復元できないもの)は消さないようにします。あくまで消すのは邪魔なものだけです。

.projectは既に書き換え済みでオリジナルのOverlay Weaverと違うので削除して、上書きしてしまわないこと。プロジェクトルートの.gitignoreもそのままにしておくこと。

6.Overlay Weaverのコードをコピー

最新のOverlay Weaverのプロジェクトから、Ctrlを押しながらのドラッグアンドドロップで、全ファイルをコピーします。このとき、「Select how files and folders should be imported into the project」と表示されるので、「Copy files and folders」を選択しておきます(このとき「Problems occured copying the selected resources.」と表示される場合があるが、これは「Resource is out of sync with the filesystem」が原因だったりするので、一度overlay weaverプロジェクトを右クリックして「Reflesh」する)

(Git Staging Viewで「削除→新規作成」したと判断されてしまったファイル(.classpath、.projectなど)は、Staged ChangesとUnstaged Changesの両方に名前が表示されているはずなので、全てUnstaged Changesに移動すると変更として扱ってくれるみたい。)

7.コミットする

「Git Staging」ビューで変更を全て「Staged Changes」に移動して、「Commit Message」を埋めてコミットします。

8.メインのブランチに戻る

再び「Switch To」を使い、最新のOverlay Weaverをマージさせたいブランチに移動します。

9.マージする

「プロジェクト右クリック>Merge...」で、最新のOverlay Weaverを示すブランチorタグを選択した状態で「Merge」をクリックします。

すると、「Merge Result」でマージの結果が表示されます。一方で、エラーが表示されているかもしれません。

10.衝突(コンフリクト)を解決する

エラーの原因はおそらくコンフリクトなので、最後にコンフリクトを解決してください。

ひとこと

以上、作業メモでした。

コメント(0)

新しいコメントを投稿