subversionをコマンドで使う練習その2
前回に引き続きsubversionをコマンドで使う練習を進める。
今回は前回作成したファイルに変更を加えてコミットしてみるところから。
前回作成したファイルname.txtに行を追加
$ cat /home/hoge/work/hoge_prj/names.txt taro jiro saburo siro goro rokuro ←ここ追加 shichiro ←ここ追加
変更内容を確認する
$ svn status names.txt M names.txt
「M」が付いた。
ということはローカルのファイルに変更があって、リポジトリにはまだ変更内容が反映されてないことを示す。
次にどのような内容の修正をしたか、リポジトリと比較してみる。
$ svn diff names.txt Index: names.txt =================================================================== --- names.txt (リビジョン 1) +++ names.txt (作業コピー) @@ -3,3 +3,5 @@ saburo siro goro +rokuro +shichiro
「rokuro」「shichiro」の行に「+」が付いている。これでその行が追加されたことがわかる。
んで、「−」が付いていたら削除されていることになる。
次は変更内容をリポジトリに登録してみる。
$ svn commit -m "add rokuro,shichiro" 送信しています names.txt ファイルのデータを送信中です. リビジョン 2 をコミットしました
ファイルがコミットされて、リビジョンが2になったようだ。
次はリポジトリに変更があったかどうか、ログを確認してみる。
$ svn log names.txt ------------------------------------------------------------------------ r2 | hoge | 2006-11-23 00:05:56 +0900 (木, 23 11月 2006) | 1 line add rokuro,shichiro ------------------------------------------------------------------------ r1 | hoge | 2006-11-21 03:02:41 +0900 (火, 21 11月 2006) | 1 line start hoge_prj ------------------------------------------------------------------------
変更内容が表示された。
リビジョン2(r2)に変更したのは「hoge」さんということがわかる。
メッセージは何をどのように変更したか、わかりやすいものにしなければいけない。
(わかりにくいメッセージだったな・・・)
さらに詳細をみてみる。
$ svn log --verbose names.txt ------------------------------------------------------------------------ r2 | hoge | 2006-11-23 00:05:56 +0900 (木, 23 11月 2006) | 1 line 変更のあったパス: M /hoge_prj/trunk/names.txt add rokuro,shichiro ------------------------------------------------------------------------ r1 | hoge | 2006-11-21 03:02:41 +0900 (火, 21 11月 2006) | 1 line 変更のあったパス: A /hoge_prj A /hoge_prj/trunk A /hoge_prj/trunk/address.txt A /hoge_prj/trunk/names.txt start hoge_prj ------------------------------------------------------------------------
「--verbose」オプションで詳細がみれる。
ちなみにカレントディレクトリ配下のすべての履歴情報をみるときは
ファイル名を指定しなければよい。
$ svn log --verbose ------------------------------------------------------------------------ r1 | hoge | 2006-11-21 03:02:41 +0900 (火, 21 11月 2006) | 1 line 変更のあったパス: A /hoge_prj A /hoge_prj/trunk A /hoge_prj/trunk/address.txt A /hoge_prj/trunk/names.txt start hoge_prj ------------------------------------------------------------------------
ところで、「names.txt」をコミットした直後では、その変更内容が表示されていないことに気づく。
これは以下のコマンドで、最新のものになる。
$ svn update リビジョン 2 です。 $ svn log --verbose ------------------------------------------------------------------------ r2 | hoge | 2006-11-23 00:05:56 +0900 (木, 23 11月 2006) | 1 line 変更のあったパス: M /hoge_prj/trunk/names.txt add rokuro,shichiro ------------------------------------------------------------------------ r1 | hoge | 2006-11-21 03:02:41 +0900 (火, 21 11月 2006) | 1 line 変更のあったパス: A /hoge_prj A /hoge_prj/trunk A /hoge_prj/trunk/address.txt A /hoge_prj/trunk/names.txt start hoge_prj ------------------------------------------------------------------------
今回はここまで。
次回は競合(コンフリクト)してみちゃう。