豚吐露@wiki
svn操作方法
最終更新:
ohden
-
view
svn操作方法
【work作成】
リポジトリからfileをcheck-out(以降co)し、workを作成する。
やり方は複数あるのでいくつか紹介。
リポジトリからfileをcheck-out(以降co)し、workを作成する。
やり方は複数あるのでいくつか紹介。
・リポジトリブラウザから行う方法
適当なフォルダを右クリック。
TortoiseSVNのメニューから『SVNリポジトリブラウザ(R)』を選択。
URLを求められるので取得したいリポジトリのURLを入力。
わからない場合はSVNの管理を行っているメンバに聞くこと。
リポジトリブラウザが開くと左側にディレクトリツリー、右側にカレントディレクトリに格納されているファイルが表示される。
ディレクトリツリーからcoしたいディレクトリを右クリックしメニューから『チェックアウト(K)』を選択。
『チェックアウト』ウィンドウが開くので『チェックアウトディレクトリ』にco先のlocal dirを指定。

『OK』押下でco実施。表示されるログウィンドウにエラーが起きなければ問題無い。
適当なフォルダを右クリック。
TortoiseSVNのメニューから『SVNリポジトリブラウザ(R)』を選択。
URLを求められるので取得したいリポジトリのURLを入力。
わからない場合はSVNの管理を行っているメンバに聞くこと。
リポジトリブラウザが開くと左側にディレクトリツリー、右側にカレントディレクトリに格納されているファイルが表示される。
ディレクトリツリーからcoしたいディレクトリを右クリックしメニューから『チェックアウト(K)』を選択。
『チェックアウト』ウィンドウが開くので『チェックアウトディレクトリ』にco先のlocal dirを指定。

『OK』押下でco実施。表示されるログウィンドウにエラーが起きなければ問題無い。
・チェックアウト先指定から行う方法
co先に指定したいdirをエクスプローラで表示。
右クリックメニューから『SVNチェックアウト』を選択。
『チェックアウト』ウィンドウが開くので『リポジトリのURL』と『チェックアウトディレクトリ』を入力。
『OK』押下でco実施。表示されるログウィンドウにエラーが起きなければ問題無い。
※『リポジトリのURL』の右側の『...』ボタン押下でリポジトリブラウザが起動し、そこからURLを指定することも可能。
co先に指定したいdirをエクスプローラで表示。
右クリックメニューから『SVNチェックアウト』を選択。
『チェックアウト』ウィンドウが開くので『リポジトリのURL』と『チェックアウトディレクトリ』を入力。
『OK』押下でco実施。表示されるログウィンドウにエラーが起きなければ問題無い。
※『リポジトリのURL』の右側の『...』ボタン押下でリポジトリブラウザが起動し、そこからURLを指定することも可能。
workは1つの対応に対し1つずつ作成した方が良い。
同時に2つの対応を行う場合は、2つworkを作成する。
3つ同時に対応する必要があれば、workは3つ作成すること。
対応が完了したらworkは削除すれば良い。
同時に2つの対応を行う場合は、2つworkを作成する。
3つ同時に対応する必要があれば、workは3つ作成すること。
対応が完了したらworkは削除すれば良い。
【ci手順】
作業workは、1対応 1workとする。
※同時に複数対応している場合は作業workを複数用意し、1work 1対応とすること。
svn up実施
当該ディレクトリを右クリックし『SVN更新(U)』を選択。
【確認】コンフリクトが発生していないか?
⇒ コンフリクトが発生した場合、コンフリクトの解消を行わないとciできない。
build実施
work環境でbuildを実施する。
【確認】build結果は、Error/Warning共に0件か?
svn diffの実施①
当該ディレクトリを右クリックし『SVNコミット(C)』を選択。
開いたコミットウィンドウ上部にコミットコメント(ログメッセージ)記入欄、下部に『変更した項目』(チェックイン対象のファイル一覧)が表示される。
【確認】コミット先がtrunkになっているか?想定したURLとなっているか?
【確認】『変更した項目』にci対象のファイルが漏れていないか?
⇒ ciを実行しようとしたdirが間違ってないか確認。
⇒ 新規ファイルの場合、svn addを忘れるとSVN管理対象とならない。svn add漏れが無いか確認。
【確認】『変更した項目』にci対象外のファイルが存在しないか?
⇒ 『変更した項目』のci対象外ファイルのチェックを外す。
svn diffの実施②
ci対象のファイルをダブルクリックするとWinMergeが起動する。
ci対象の全てのfileに対しdiffを実行し修正内容が妥当か確認する。
【確認】差分箇所が自分の意図した箇所のみであるか?
【確認】想定外の差分が無いか?
【確認】修正コメントの無い差分は無いか?
【確認】修正箇所の修正コメントはPjルールに則ったコメントとなっているか?
⇒ 日付、チケット番号、氏名、対応種別
コミットコメントの記述
svn log時、概要がわかるように、対応内容を記述。
※チケット駆動開発の場合、チケット番号を先頭に記述する。
【確認】コミットコメント欄に対応内容が記入されているか?
svn ciの実施
ciの実行。
【確認】エラーが発生していないか?
ciの確認
ciに利用したworkとは別の場所で、最新環境workを作成。
【確認】『SVNログを表示(L)』を実行し、履歴に先程ciした内容が反映されているか?
【確認】修正したファイルに先程ciした内容が反映されているか?
【確認】buildを実施し、build結果はError/Warning共に0件か?
作業workは、1対応 1workとする。
※同時に複数対応している場合は作業workを複数用意し、1work 1対応とすること。
svn up実施
当該ディレクトリを右クリックし『SVN更新(U)』を選択。
【確認】コンフリクトが発生していないか?
⇒ コンフリクトが発生した場合、コンフリクトの解消を行わないとciできない。
build実施
work環境でbuildを実施する。
【確認】build結果は、Error/Warning共に0件か?
svn diffの実施①
当該ディレクトリを右クリックし『SVNコミット(C)』を選択。
開いたコミットウィンドウ上部にコミットコメント(ログメッセージ)記入欄、下部に『変更した項目』(チェックイン対象のファイル一覧)が表示される。
【確認】コミット先がtrunkになっているか?想定したURLとなっているか?
【確認】『変更した項目』にci対象のファイルが漏れていないか?
⇒ ciを実行しようとしたdirが間違ってないか確認。
⇒ 新規ファイルの場合、svn addを忘れるとSVN管理対象とならない。svn add漏れが無いか確認。
【確認】『変更した項目』にci対象外のファイルが存在しないか?
⇒ 『変更した項目』のci対象外ファイルのチェックを外す。
svn diffの実施②
ci対象のファイルをダブルクリックするとWinMergeが起動する。
ci対象の全てのfileに対しdiffを実行し修正内容が妥当か確認する。
【確認】差分箇所が自分の意図した箇所のみであるか?
【確認】想定外の差分が無いか?
【確認】修正コメントの無い差分は無いか?
【確認】修正箇所の修正コメントはPjルールに則ったコメントとなっているか?
⇒ 日付、チケット番号、氏名、対応種別
コミットコメントの記述
svn log時、概要がわかるように、対応内容を記述。
※チケット駆動開発の場合、チケット番号を先頭に記述する。
【確認】コミットコメント欄に対応内容が記入されているか?
svn ciの実施
ciの実行。
【確認】エラーが発生していないか?
ciの確認
ciに利用したworkとは別の場所で、最新環境workを作成。
【確認】『SVNログを表示(L)』を実行し、履歴に先程ciした内容が反映されているか?
【確認】修正したファイルに先程ciした内容が反映されているか?
【確認】buildを実施し、build結果はError/Warning共に0件か?
【svn add手順】
【work作成】
追加対象の作成
作成したwork内で、file/dirを追加。任意のdirに新規にfile/dirを格納。
svn addの実施
追加対象のfile/dirを右クリックし、『追加(A)』を実行。
【確認】追加対象のfile/dirのアイコンに『+』マークが付いていること
【ci手順】
※リポジトリへ追加することが確実であるfileを作成した場合は、作成と同時にsvn addを実行すること。
※あらかじめsvn addを実行しておけば、ciの際『変更した項目』に自動で追加されるため、追加忘れを防止できる。
【work作成】
追加対象の作成
作成したwork内で、file/dirを追加。任意のdirに新規にfile/dirを格納。
svn addの実施
追加対象のfile/dirを右クリックし、『追加(A)』を実行。
【確認】追加対象のfile/dirのアイコンに『+』マークが付いていること
【ci手順】
※リポジトリへ追加することが確実であるfileを作成した場合は、作成と同時にsvn addを実行すること。
※あらかじめsvn addを実行しておけば、ciの際『変更した項目』に自動で追加されるため、追加忘れを防止できる。
【リポジトリ作成】
svnadmin createの実施
リポジトリの作成。server localで『svnadmin create』を実行。
【確認】クライアントからリポジトリブラウザで参照することができるか?
【work作成】
base dirの作成
base dir『trunk』『branches』『tags』を追加しci。
【確認】リポジトリへbase dirは追加されているか?
svnadmin createの実施
リポジトリの作成。server localで『svnadmin create』を実行。
【確認】クライアントからリポジトリブラウザで参照することができるか?
【work作成】
base dirの作成
base dir『trunk』『branches』『tags』を追加しci。
【確認】リポジトリへbase dirは追加されているか?
【リリース手順】
【work作成】
◇branchが無い場合branch作成
svn cp 【cp元 trunk URL】 【cp先 branch URL】 -m "【コメント】"
Tortoiseの場合は以下のように...
ブランチ/タグ作成を選択。

コピー先URL、コピー元のrevisionを指定。
この時、『作業コピーを新しいブランチ/タグへ切り替える』にcheckしとくと、branch作成後、workの参照先がコピー先になる。

処理の確認。

【確認】リポジトリブラウザで参照し、リポジトリに当該branchが作成されているか?
tag作成
svn cp 【cp元 branch URL】 【cp先 tag URL】 -m "【コメント】"
Tortoiseの場合は以下のように...
ブランチ/タグ作成を選択。

【確認】リポジトリブラウザで参照し、リポジトリに当該tagが作成されているか?
コピー先URL、コピー元のrevisionを指定。
tagは基本的にread onlyなのでworkの参照先は切り替えない。
※誤ってCheckInなどが行われないように、tagのbuildは別workで行う。

処理の確認。
『作業コピーを新しいブランチ/タグへ切り替える』にcheckしてないので注意を促される。

build実施
作成したtagをcoし、buildを行う。
【確認】build結果は、Error/Warning共に0件か?
生成物をciする。
※tagに対する唯一のci。中間ファイルはci対象外とする。
【確認】リポジトリブラウザで参照し、リポジトリに当該生成物が作成されているか?
生成物をリリース
【work作成】
◇branchが無い場合branch作成
svn cp 【cp元 trunk URL】 【cp先 branch URL】 -m "【コメント】"
Tortoiseの場合は以下のように...
ブランチ/タグ作成を選択。

コピー先URL、コピー元のrevisionを指定。
この時、『作業コピーを新しいブランチ/タグへ切り替える』にcheckしとくと、branch作成後、workの参照先がコピー先になる。

処理の確認。

【確認】リポジトリブラウザで参照し、リポジトリに当該branchが作成されているか?
tag作成
svn cp 【cp元 branch URL】 【cp先 tag URL】 -m "【コメント】"
Tortoiseの場合は以下のように...
ブランチ/タグ作成を選択。

【確認】リポジトリブラウザで参照し、リポジトリに当該tagが作成されているか?
コピー先URL、コピー元のrevisionを指定。
tagは基本的にread onlyなのでworkの参照先は切り替えない。
※誤ってCheckInなどが行われないように、tagのbuildは別workで行う。

処理の確認。
『作業コピーを新しいブランチ/タグへ切り替える』にcheckしてないので注意を促される。

build実施
作成したtagをcoし、buildを行う。
【確認】build結果は、Error/Warning共に0件か?
生成物をciする。
※tagに対する唯一のci。中間ファイルはci対象外とする。
【確認】リポジトリブラウザで参照し、リポジトリに当該生成物が作成されているか?
生成物をリリース
更新日: 2010年10月27日 (水) 09時57分39秒