沼津高専 電子制御工学科
MIRSMG3D 実機でのSubversionの使用方法
MIRSMG3D-OSIN-0011
改訂記録
版数 作成日 作成者 承認 改訂内容
A01 2012.12.13 野澤 牛丸 初版
A02 2012.12.17 野澤 牛丸 2.5.競合を追加

目次

 1.はじめに
 2.Subversionの使用方法
  2.1. チェックアウト
  2.2. アップデート
  2.3. コミット
  2.4. ファイルの追加
  2.5. ディレクトリのインポート
  2.6. 競合


1.はじめに

本ドキュメントは、実機でのSubversionの使用方法をまとめたドキュメントである。

2.Subversionの使用方法

2.1. チェックアウト

Subversionを使用する際にはサーバーにあるプロジェクトを開発PCに取得するためにチェックアウトをする必要がある。チェックアウトは端末で次のコマンドを実行すれば良い。

svn checkout http://titan.denshi.numazu-ct.ac.jp/svn/[プロジェクト名] ./

実行結果

 A   [プロジェクト名]/~
      :
 リビジョン[リビジョンナンバー]をチェックアウトしました。


2.2. アップデート

プロジェクトを変更する際には必ず最新のプロジェクトを取得してからでないとチームメンバーが書き換えたものが反映されない。そのため、アップデートをする必要がある。アップデートは端末で次のコマンドを実行すれば良い。

cd [プロジェクト名]
svn update

実行結果

 U   [変更されているファイル名]             
 リビジョン[リビジョンナンバー]です。


2.3. コミット

変更したプロジェクトは全体に反映させるためにサーバーにコミットしなければならない。コミットは端末で次のコマンドを実行すれば良い。ただし、反映させる際には必ずアップデートをしてチームメンバーの変更点との関係を考慮したうえでコミットを行わなければならない。

svn commit [プロジェクト名]-m "コメント"

または、

cd [プロジェクト名]
svn commit -m "コメント"

実行結果

 送信しています   [変更ファイル名]
 ファイルのデータを送信しています .
 リビジョン [リビジョンナンバー] をコミットしました。    


2.4. ファイルの追加

MIRS上で作成したプログラムをSVN管理下に追加するには、次のようにする。

svn add [ファイル名]

2.5. ディレクトリのインポート

MIRS上で作成したプログラムのディレクトリをサーバーに登録するためにはインポートをしなければならない。インポートは次のコマンドを実行すれば良い。

svn import [ディレクトリ名] http://titan.denshi.numazu-ct.ac.jp/svn/[プロジェクト名] -m "コメント"

※ただし、ディレクトリがそのままリポジトリになるわけではないので編集するのならチェックアウトをしなければならない。

2.6. 競合

 リポジトリのファイルを更新するとき,2 人以上のユーザがファイルの同じ行を変更した場合、競合が発生する可能性があります。競合が発生した場合の解決方法についていかに示す。

svn commit した後、「競合している」とエラーが返される。
そして、svn update すると、競合状態のファイルが生成される。
その後の選択肢と解決方法についていかに列挙する。

1. 自分の変更を破棄して、リポジトリのバージョンを使う場合

 svn revert [競合中のファイル名]
 svn update [競合中のファイル名]

 ※svn revert を実施した時点で、競合ファイルは消える

2. 自分の変更を保持して、リポジトリの修正を上書きする場合

 cp [競合中のファイル名].mine [競合中のファイル名] (自分の作業内容で、ファイルを上書き)
 svn resolved [競合中のファイル名]
 svn commit -m "コメント"

3. 手動でファイルを修正して、競合部分を削除する場合

 [競合中のファイル名]をエディターで編集
 svn resolved [競合中のファイル名]
 svn commit -m "コメント"

参考
http://thinkit.co.jp/cert/article/0611/2/2/2.htm
http://wiki.livedoor.jp/takaneh/d/Subversion
http://asdf-11.blogspot.jp/2009/04/subversion_995.html

関連文書