web-dev-qa-db-ja.com

SVNはコミットされたコードからパッチを作成しますか?

コミット後のコミット中に影響を受けたすべてのファイルのパッチ(diffファイル)を作成することはできますか?これらのファイルのバージョン番号は同じであり、以前のバージョンとの各ファイルの差分が必要です。

66
septerr

コミット番号がわかっている場合は、使用します

svn diff -c N path

Nはコミット番号、pathは作業コピーへのパスです。

61

リビジョン番号(例:123と124)がわかっている場合は、次を使用できます。

svn diff -r123:124 path/to/my_project_folder > ~/my_project_changes_123_124.patch

https://stackoverflow.com/a/25283101/112758 も参照してください

45
batigolix

または、windows + tortoiseSVNを使用する場合:ソースコードディレクトリに移動し、ディレクトリを右クリックして(亀のコンテキストメニューを開く)、[ログを表示]を選択し、両方のリビジョンを選択(ctrlキーを押しながらクリック)してから、右クリックして[コンテキストメニューから差分を統合差分として表示します。ウィンドウにポップアップが表示され、相違点がパッチとして保存できます。

更新:Shiftキーを押しながら「統合差分として表示」をクリックすると、差分オプションを選択できるダイアログがポップアップ表示されます(eolの変更を無視、空白の変更を無視、すべての空白を無視)。これは、たとえばバージョン間で行末が変更されました(そうでなければ、ファイル全体が「変更済み」として表示されます)

39
kalmiya