somemo programming etc.

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【Eclipse】Subversive【Plugin】

Subversive」を使ってみました。 Subversiveとは、SubversionEclipseで使うためのプラグインです。 今回は、以下について ・リポジトリの設定 ・ファイルの追加 ・ファイルのコミット ・ファイルのロック ・差分の確認 ・履歴の表示 ・リファクタリング ・ファイルの削除コミット ・同期化による特定ディレクトリ以下の変更確認 ・注意点 ・まとめ [リポジトリの設定]  1.[ウィンドウ]→[パースペクティブを開く]→[その他]を選択します。  2.SVNリポジトリー・エクスプローラー を選択します。  3.SVNリポジトリービューにて、右クリック、[新規]→[リポジトリー・ロケーション]を選択します。  4.新規リポジトリー・ロケーションの一般タブを選択後、下記項目を入力し、完了ボタンを押下します。    URL:リポジトリのURLを入力    ラベル:     カスタム・ラベルを使用するを選択、任意のラベル名を入力    認証:     ユーザ:ユーザのID     パスワード:ユーザのIDに対応するパスワード     チェックボックス:パスワードの保存をする場合にチェックをする  5.SVNリポジトリービューにリポジトリの内容が表示されます。  6.(今回は)PHPエクスプローラービューにリポジトリの内容がチェックアウトされます。 [ファイルの追加]  1.適当なファイルを作成し、適当なディレクトリに格納します。    ファイルより上の階層のディレクトリ名の左に「>」と表示されました。  2.作成したファイル、または、ファイルより上の階層のディクトリを選択し、    右クリック後、[チーム]→[バージョン管理に追加]を選択します。  3.OKボタンを押下します。ファイル名の左に「>」と表示されました。  おまけ.[チーム]→[戻す]を選択後、OKボタンを押下すると、追加が解除されます。 [ファイルのコミット]  1.[チーム]→[コミット]を選択します。  2.OKボタンを押下します。アイコンが変わり、コミット時のリビジョンが表示されます。 [ファイルのロック]  1.[チーム]→[ロック]を選択します。  2.OKボタンを押下します。    ロック後、TotiseSVNで確認したところ、ロックされていました。  おまけ.[チーム]→[アンロック]を選択後、OKボタンを押下すると、ロックが解除されます。 [差分の確認]  1.ファイルを適当に修正します。ファイル名の左に「>」と表示されました。  2.ファイル、または、ファイルより上の階層のディクトリを選択し、    右クリック後、[比較]→[作業コピーからBase]または[リポジトリーから最新]を選択します。  3.差分が中央に表示されます。 [履歴の表示]  1.ファイルを選択し、[チーム]→[ヒストリーの表示]を選択します。  2.今までリポジトリに対して行った動作の履歴が表示されます。    今回の場合、新規に追加しコミットした履歴が表示されました。  3.ファイルを選択し、[チーム]→[ローカル・ヒストリーの表示]を選択します。  4.改定時刻ごとの履歴が表示されます。    (セーブなどをしてファイルのタイムスタンプが更新されたときごと) [リファクタリング]  [ファイル名変更コミット]   1.ファイルを選択し、右クリック後、[リファクタリング]→[名前変更]を選択します。   2.変更後のファイル名を入力し、OKボタンを押下します。     (プレビューボタンを押下すると、変更内容が表示されます。)   3.変更前名のファイルが削除され、変更後名のファイルが追加された状態になります。   4.コミットします。   5.履歴を表示すると、変更前の履歴も残っています。  [ファイル移動コミット]   1.ファイルを選択し、右クリック後、[リファクタリング]→[移動]を選択します。   2.移動先を選択し、OKボタンを押下します。   3.ファイル名変更コミットと以下同様です。 [ファイルの削除コミット]  1.ファイルを選択し、右クリック後、[削除]を選択します。    [削除を取り消したいとき]    ディレクトリを選択し、右クリック後、[ローカル・ヒストリーの復元]を選択します。    ディレクトリ内で削除したファイルを復元することができます。    復元は、[履歴表示]4と同様に戻せます。  2.削除したファイルより上の階層のディクトリを選択し、コミットします。   または、  [同期化による特定ディレクトリ以下の変更確認後のコミット]  3.削除したファイルより上の階層のディクトリを選択し、右クリック後、    [チーム]→[リポジトリーと同期化]を選択します。  4.チーム同期化パースペクティブが表示されます。    同期化ビューに選択したディレクトリが表示されます。    このディレクトリを展開すると、それ以下の変更があるファイルが表示されます。  5.ディレクトリを選択し、右クリック後、[コミット]を選択します。 [注意点] 削除コミット時に競合が発生し、削除ファイルが3つ存在していました。 これは、リファクタリング時に変更後ファイルのみをコミットしたためです。 リファクタリング時のSVNの動作は、以下の3つであると考えられます。  ・変更後ファイルを作成する  ・変更前ファイルのパスをもとに履歴をコピーする  ・変更前ファイルを削除する つまり、今回の問題は「変更前ファイルのコミットを行わなかったため」に発生しました。 コミットの際は、リポジトリーとの同期化で全ての変更を確認するべきだと思います。 [感想] TortoiseSVNを使用していることもあって、迷うことなくすぐに使えました。 Eclipseだけで行えたり、リファクタリングとの連携がとてもよかったです。 アイコンが小さいので、TortoiseSVNをまだ使ってしまいそうですが、慣れだと思います。 以上。