自分専用でsubversionを動かしているんですが、時々conflictがおきる。
自分しか変更しないとは言え、解消作業がめんどくさい。
備忘録の意味をかねて簡単なまとめ。調査不足なので取扱注意で。
■ 競合の確認
svn status --show-updates
ディレクトリのファイルより新しいバージョンがリポジトリ内にあるか確認
svn diff -r ARG1(:ARG2) xxxxx.xxx
リビジョン番号ARG1とARG2(指定しなければ最新)と比較
■ 競合の解決
1 手元の変更を破棄し、リポジトリに格納されているバージョンにする。
svn revert xxxxx.xxx
svn update xxxxx.xxx
2 手元の変更を保持。
まずコピー( cp Number.txt.mine Number.txt)や手動で修正する。
svn resolved xxxxx.xxx ← 競合の修正が完了したことを通知
3 svnに競合を修正させる
svn resolve --accept ARG Number.txt
ARGには'base', 'working', 'mine-conflict', 'theirs-conflict', 'mine-full', 'theirs-full'。
resolvedではないところがみそ。詳しくは svn help resolve。
今回おきた衝突は、ファイルの編集内容にではなく、ディレクトリの移動を実施した際に発生した。
解決方法を調べている間に、"svn resolve --accept <ARG> xxx" というコマンドをみつた。
もうちょい詳しく調べたらおいしくなるなる可能性があるかも。
自分しか変更しないとは言え、解消作業がめんどくさい。
備忘録の意味をかねて簡単なまとめ。調査不足なので取扱注意で。
■ 競合の確認
svn status --show-updates
ディレクトリのファイルより新しいバージョンがリポジトリ内にあるか確認
svn diff -r ARG1(:ARG2) xxxxx.xxx
リビジョン番号ARG1とARG2(指定しなければ最新)と比較
■ 競合の解決
1 手元の変更を破棄し、リポジトリに格納されているバージョンにする。
svn revert xxxxx.xxx
svn update xxxxx.xxx
2 手元の変更を保持。
まずコピー( cp Number.txt.mine Number.txt)や手動で修正する。
svn resolved xxxxx.xxx ← 競合の修正が完了したことを通知
3 svnに競合を修正させる
svn resolve --accept ARG Number.txt
ARGには'base', 'working', 'mine-conflict', 'theirs-conflict', 'mine-full', 'theirs-full'。
resolvedではないところがみそ。詳しくは svn help resolve。
今回おきた衝突は、ファイルの編集内容にではなく、ディレクトリの移動を実施した際に発生した。
解決方法を調べている間に、"svn resolve --accept <ARG> xxx" というコマンドをみつた。
もうちょい詳しく調べたらおいしくなるなる可能性があるかも。