64

過去にさかのぼってパッチを作成することは可能ですか?使用しているTortoiseSVNクライアントには、コミットの代わりに(またはコミット中に)パッチを作成するオプションがあります。

トランクを使用して修正に取り組み、チェックインして、ビルドサーバーにすべてのテストとメトリックを実行させ、修正が受け入れ可能であることを確認したいと思います。次に、いくつかのリビジョンを選択して(最初の修正で途中までしか到達できなかった場合)、変更されたファイルからパッチファイルを作成できるようにしたいと思います。

次に、パッチを取得して、他のいくつかのブランチに適用できます。これは可能ですか?

4

4 に答える 4

111

ログを表示し、リビジョンを選択して右クリックし、「統合差分を表示」します。

于 2012-08-22T15:20:39.023 に答える
2

パスに問題がある場合は、すべてのファイルの差分を個別に表示できます

于 2013-07-26T13:33:42.810 に答える
0

異なるブランチの 2 つのファイルを比較する場合は、Windows で WinMerge を使用することもできます。

  1. 各支店をチェック
  2. 比較する必要がある 2 つのファイルをマークします
  3. WinMerge による比較
  4. 次にクリック: ツール -> パッチの生成

これにより、異なるブランチから既にコミットされたファイルのパッチを作成できます。

于 2014-08-05T07:20:26.947 に答える
0

svn diffコマンドラインを使用してパッチを作成する傾向があります。そのため、次の例を使用できますが、リビジョン番号を知っている必要があります。確認するのはそれほど難しくありません。

この回答の目的のために、次のことを前提としましょう。

  • コミットのリビジョン番号は 1234 です。
  • SVN リポジトリは にありますhttps://mySvnServer/myRepository/trunk
  • パッチを に配置しますC:\Path\To\Patches\

リビジョン 1234 だけのパッチを作成します-c 1234

svn diff -c 1234 https://mySvnServer/myRepository/trunk > "C:\Path\To\Patches\1234.patch"

コミットとヘッド (最新のコミット) の間のすべてのリビジョンのパッチを作成します。注-r 1234:HEAD.

svn diff -r 1234:HEAD https://mySvnServer/myRepository/trunk > "C:\Path\To\Patches\1234_head.patch"

私の知る限り、ブランチを作成せずに複数の連続しないリビジョン番号からパッチを作成し、目的のリビジョンを個別にマージしてから、svn diff (上記と同様) を実行して作成する単一行の方法はありません。パッチ。

于 2022-03-01T12:15:08.777 に答える