22

コマンドプロンプトから、次のようなことができることを知っています

svn diff -rXXX foo.bar

このリビジョンがマージされたブランチにあったとしても、私の作業コピーをfoo.barリビジョンと比較します。XXX

TortoiseSVN で同じことを行うにはどうすればよいですか? 私のWCと同じブランチの過去のリビジョンでは魅力のように機能しますが、別のブランチでは機能しません...

編集:

Rob の回答のおかげで、作業コピー内のファイルを、マージされたブランチにある過去のリビジョンと比較できるようになりました。最後に知りたいのは、一部の差分を作業コピーに手動でマージできるかどうかです。

  • 「ログを表示」ウィンドウで特定のファイルのリビジョンを右クリックし、 「作業コピーと比較」を選択すると、差分ビューアー (または私の場合は WinMerge) が古いリビジョン (名前が付けられた) のファイルのローカル コピーを比較します。リビジョン番号の後に、Windows 一時フォルダーに存在する) 実際の作業コピーに
  • この同じファイルをShiftキーを押しながら右クリックして「Diff with URL」を選択すると、比較されるファイルは両方ともWindowsの一時フォルダーに作成されたローカルコピーであり、一部の違いを作業コピーに直接マージできません...

そのための回避策はありますか?

4

3 に答える 3

24

これを実現する 1 つの方法は、Shift キーを押したまま、作業コピー内の比較したいファイルを右クリックすることです。TortoiseSVN->URL との差分を選択します。これによりダイアログが表示され、差分を取得したいブランチのファイルへの完全なサーバー パス名を入力できます。また、リビジョンも指定できます。これにより、TortoiseSVN 差分が 2 つのファイルと差分とともに表示されます。

詳細については、次のリンクを参照してください: Viewing Differences . これは、「別のブランチ/タグとの違い」セクションで具体的に説明されています

于 2013-02-12T15:44:08.333 に答える
13

もちろん、@Robの答えは機能しますが、検索してから、潜在的に長いURLを入力する必要があります。マウスを数回クリックするだけで、まったく入力せずに同じタスクを実行できます。

  1. Windows エクスプローラーで、ターゲット ファイルのコンテキスト メニューを開き、 を選択しますTortoiseSVN >> Revision Graph
  2. グラフが表示されたら、作業コピーを表すノードをクリックします。
  3. 比較したいノードを Ctrl +クリックします。これは、任意のブランチにある可能性があります。
  4. 選択したいずれかのノードでコンテキスト メニューを開き、 を選択しますcompare revisions

図では、リビジョン 22175 が 1 つのブランチの作業コピーです。比較する別のブランチのノード 18568 を選択しました。どちらのノードも紫色の四角でマークされています。

TortoiseSVN リビジョン グラフ

2013.02.14 Update: 作業ベースだけでなく作業コピーも比較!

Yannick、作業コピー作業ベースを区別するように思い出させてくれてありがとう。私の前の図は、実際に作業ベースを任意のノードと比較していました。改訂された図は、作業コピーを任意のノードと比較する方法を示しています。これを行うには、ツールバーの右端にある 2 つのボタンに注目してください。黒い丸で囲まれた WC ボタンは、作業ベース (この場合は 22175) を表示して強調表示します。赤い丸で囲まれた WC ボタンは、作業コピーを表示し、ラベルが付けられた特別な赤いノードとして強調表示します。Modified. そのノードを実体化すると、必要に応じて触れたり、つかんだり、折りたたんだり、紡いだり、切断したりできる変更された作業コピーができあがります。たとえば、最初に Modified を選択して作業コピーの変更を表示し、次に作業ベース (この場合は 22175) を選択してそれらのリビジョンを比較できます。

最後の注意:Modifiedノードを選択するときは、順序が重要です。Modified最初選択してから、Ctrl キーを押しながら比較するノードを選択します。これによりcompare revisions、コンテキスト メニューに選択肢が表示されます。逆の場合は、unified diff選択肢しかありません。

于 2013-02-13T20:26:35.663 に答える