2010年7月18日日曜日

Subversion(TortoiseSVN)で特定のリビジョン間のパッチを作成する方法

覚え書き

Subversion(TortoiseSVN)であるリビジョンから別のリビジョンへの変更をpatchとして作成する方法を記載しておく(自宅のPCにはSVNが入っていないので、うろ覚え)
設定で、Unified Diffの表示を行うツールを、適当なテキストエディタに変更する。
(私はsakura editorを使用した)

右クリックから「ログの表示」を選び、変更前と変更後のリビジョンを選択し、
右クリックから「差分の表示(Unified Diff)」を選ぶ。

設定したテキストエディタが起動するので、内容を別名で保存する。
(このテキストファイルがパッチとなる)

今回は、分散開発で、他のチームに差分をメールで送るのに利用している。
パッチを受け取った側は、右クリックの「パッチを適用」でパッチをマージできる。


追記:この方法で作成したパッチファイルには、絶対パス(C:/xxxx)が入るため、
マージされる側と同じフォルダ構成にしておかないと適用できませんでした。
絶対パスを相対パスに変更するスクリプトとかを作ることは可能だが、
毎回スクリプトを通すのが面倒くさい。