2009年4月11日土曜日

subversion - 競合の解消方法

* 競合の解消方法
 自分の担当分を修正をして、svn updateをした後にConflictedが出た場合の修正方法を
 知っておくのは必須だろ。常識的に考えて。

 # コーディングスタイルの違いで、Conflicted するのはアホ臭いので除外。

競合状態のファイルがある場合は、コミットができなくなるので、
 ログが長いから気付かなかったとかの言い訳は意味がない。

 競合が発生する場合の多くは、コミュニケーションエラーが多発することに起因するため、
 どっちかっていうと、ポストモーテムでもしたほうがいいときが多い。

 自分ので修正を上書きして、他のメンバーの作業を台無しにするのはおすすめしない。
 
0. svn commit を実施、なんか競合しているぞ!とエラーが返される。
  そしたら、svn update を実施すると、競合状態のファイルが生成される。

 こうなった後の選択肢はあんまりないので、ここに列挙してみる。

1.自分の変更を破棄して、リポジトリのバージョンを使う事を決めた!
> svn revert Number.txt
> svn update Number.txt
svn revert を実施した時点で、競合ファイルは消えるので、
 白旗あげたらシステムがうまくやった感じ。

2.自分の変更を保持して、リポジトリの修正を上書きする事に決めた!
 > cp Number.txt.mine Number.txt (自分の作業内容で、ファイルを上書き)
> svn resolved Number.txt
> svn commit -m "[check in messages]"

3.手動でファイルを修正して、マーカの部分を削除する事に決めた!
> edit Number.txt
> svn resolved Number.txt
> svn commit -m "[check in messages]"

0 件のコメント:

コメントを投稿