リポジトリにコミット

Eclipse上で変更した内容をSVNリポジトリにコミットする手順について見ていきます。

Eclipseを起動し、Javaパースペクティブ、もしくはJava EEパースペクティブを開きます。本サンプルではJava EEパースペクティブを開きます。
変更前(リポジトリとの差分がない)の状態では、「プロジェクト・エクスプローラー」ビュー上のアイコンは以下のような表示になっています。
プロジェクト・エクスプローラー

次にソースコードを適当に編集してください。本サンプルでは、「HelloWorldServlet.java」に変更を加えます。
すると、「プロジェクト・エクスプローラー」ビュー上のアイコンが以下のように変化します。
プロジェクト・エクスプローラー(変更後)

変更されたことを示す「>」が表示されていることが確認できます。

リポジトリと同期

コミットを行う前にリポジトリと同期を取り、ローカル上のソースコードとSVNリポジトリ上のソースコードを比較します。

プロジェクトをチェックアウトをした後、別の開発者が作成あるいは変更を加えたファイルは、ローカルのワークスペース上にはまだ反映されていません。それらのファイルがどれだけあり、どのように変更されたのかをEclipse上から知ることができます。

「プロジェクト・エクスプローラー」ビューからプロジェクトを右クリックし、コンテキストメニューから「チーム」→「リポジトリと同期」をクリックします。
リポジトリと同期

「パースペクティブのオープンの確認」ダイアログが表示される場合があります。
パースペクティブのオープンの確認

表示された場合は「はい」ボタンを押下します。なお、「常にこの設定を使用する」にチェックを入れておけば、以降、この確認ダイアログは表示されません。

「チーム同期化」パースペクティブが表示されます。このパースペクティブでローカルとSVNリポジトリ上との差異をチェックすることができます。(詳細は次の記事で見ていきます。)
チーム同期化

上の画像の「同期化」ビューでは、自身が変更したファイルがあることを示しており、SVNリポジトリと差があることを確認できます。

変更の種類として以下があります。

アイコン 意味
競合している

競合している。(ローカルとSVNリポジトリの両方で変更され、かつ自動的にマージできない)
>SVNリポジトリで変更されたファイル

SVNリポジトリで変更されたファイル(誰かが変更したファイル)
SVNリポジトリに新しく追加されたファイル

SVNリポジトリに新しく追加されたファイル。
SVNリポジトリから削除されたファイル

SVNリポジトリから削除されたファイル。
ローカルで変更したファイル

ローカルで変更したファイル。(自分が変更したファイル)
ローカルで新しく追加したファイル

ローカルで新しく追加したファイル。
ローカルで削除したファイル

ローカルで削除したファイル。

この確認作業において、他の開発者が変更した箇所があった場合は、その変更のあったファイルをダウンロードおよびマージする作業が必要となります。

リポジトリにコミット

自身が加えた変更をコミットして、その変更をSVNリポジトリに反映させます。

「同期化」ビューからプロジェクトを右クリックし、コンテキストメニューから「コミット」をクリックします。
リポジトリにコミット

「コミット」ダイアログが表示されます。適切にコメントを入力します。コミットするリソースを選択し、「OK」ボタンを押下します。
「コミット」ダイアログ

コミットに成功し、SVNリポジトリの差異がなくなった場合、「同期化」ビューは以下のような表示に変わります。
「同期化」ビュー