三浦元喜 北陸先端科学技術大学院大学 知識科学研究科 2007/9/7 SVN4Lec マニュアル 三浦元喜 北陸先端科学技術大学院大学 知識科学研究科 2007/9/7
Subversionを使うメリット 過去の状態(リビジョン)に戻れる 作業コピー(ローカル)が壊れても大丈夫 ちょっと参照するだけならリポジトリブラウザによる閲覧や Update to revision (過去の立ち位置に戻る)機能 過去に戻り,そこから編集を継続するならRollback機能 作業コピー(ローカル)が壊れても大丈夫 コミット済みの内容(リポジトリ)からは復元可 ※なので,コミットしていればとりあえず安心 複数の環境に演習ファイルを置ける 大学,個人用PC,実家 etc... 配布物を展開・配置する手間が不要 コミットログから過去の学習経過をふりかえる
Subversionの概略(リポジトリと作業コピー) Branch Copy Branch Copy リポジトリ (Repository) Rev 1 Rev 1 Rev 2 Rev 1 Rev 2 Rev 1 サーバ Commit Import Check-out Check-out Commit Update Rev 2 Rev 2 Rev 3 Rev 3 (Add file) (Edit) 教員PC 学生PC
SVN4Lec の起動 SVN4Lec.jar をダブルクリックする 下のようなウィンドウが開く または,コマンドラインから > java –jar SVN4Lec.jar と入力し,[Enter] 下のようなウィンドウが開く
ファイル取得(更新:Update) 一番左のボタンを押す 初回のみ,アカウント名,パスワードを入力 パスワードは .svnuserpass に保存される
ファイル取得(更新:Update)(2) 成功すると,リポジトリ(サーバで管理されているファイル)の最新版が取得できる タイトルには[学生アカウント] とリビジョン番号(作業コピー/リポジトリ)を表示
差分提出(コミット/Commit)(1) 左から2番目のボタンを押す コミットログに作業内容覚え書き(メモ)を書いて送信
差分提出(コミット/Commit)(2) 成功すると,リビジョン番号が増える (注:他の人がコミットしても増えるので,番号は連続とは限らない)
過去の状態に戻す(1) (1)左から4番目のボタンを押す (2)戻りたい行で ダブルクリック
過去の状態に戻す(2) 過去に戻って編集を続けるならロールバック(Rollback)を選択する 一時的に,過去に戻るだけならUpdate to Revisionを選択する どちらを選ぶにしても,もし作業中のファイルがあれば,一旦コミットして作業を確定するか,作業を取り消し(Revert)する必要がある
過去の状態に戻す(3) ロールバック(Rollback)を選択した場合,なにが起きるか?? (1)一旦最新版を取得する(2)最新版と選択したリビジョンの差分(Diff)を計算する(3)差分を,最新版にマージ(Merge)する. その結果として,リビジョンは最新版だが,ファイルは過去のリビジョンとなる. (3)マージした結果を すぐにコミットするかどうか 聞いてくるので, 「はい/いいえ」で答える
過去の状態に戻す(4) Update to Revisionを選択した場合,なにが起きるか?? (1)過去のリビジョンを訪問する 注意: その結果として,ファイルが過去のリビジョンの内容となる. 作業コピーのリビジョン番号<リポジトリのリビジョン番号 注意: 作業コピーのリビジョン番号が リポジトリのリビジョン番号と 異なる状態で,変更点をコミット することはできない!! 一旦Updateしてからコミット すること.
RollbackとUpdateToRevの違い
作業を無かったことにする (Revert) 注意:変更部分を取り下げて,前回Update時の状態に戻る UpdateToRevの場合は,最新リビジョンの状態にはならない
Subversionにおける ファイルの状態遷移図