問題タブ [unified-diff]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
25214 参照

python - 統一された差分形式で2つの複数行文字列の比較を印刷する方法は?

それを行うのに役立つライブラリを知っていますか?

統一された差分形式で 2 つの複数行文字列の違いを出力する関数を作成します。そんな感じ:

使用例は次のとおりです。

これにより、次のように出力されます。

0 投票する
1 に答える
4679 参照

c - この差分で GNU パッチが失敗するのはなぜですか?

こんばんは

編集:通過中にスキミングしているだけの場合、以下のAdam Goodeの回答のおかげで、このやや長い質問が修正されたことに言及したいと思いました。

Apache 2.2.14 に追加するパッチが与えられましたが、1 つの統合 diff がファイルにまったくパッチを適用していません。GNU パッチ 2.5.4 を使用しています。

元のパッチが適切に作成されていないため、空白を無視する必要があります。つまり、差分の多くは、タブからスペースへの変換のようです。これらの種類の差分は、パッチ ファイルがデリバリー チェーンのどこか (svn リポジトリ、Jira システム、Web インターフェイスなど) で変更されているため、あまり役に立ちません。とにかく、すべてのタブがスペースに変換されています。

Solaris 10 で使用しているコマンドは次のとおりです。

出力は次のとおりです。

注意してください

ライン。

パッチ ファイルには複数の統合 diff が含まれていますが、関連する diff は次のとおりです。

ソースの関連部分は、パッチを適用した後(おそらく)、いくつかのコンテキストが追加されたものです。

他のすべてのパッチは、正常に適用されたか無視されたようです。

この特定の差分が取得されない理由はありますか?

編集:以下の Adam の推奨に従って、パッチのファズ係数をゼロまで減らした後、パッチは正常に機能しました。

Adam Goode に感謝します。回答にもう一度賛成票を投じることができれば、そうします! 興味がある場合は、GNU diffutils マニュアルのfuzz に関連する段落を次に示します。

編集2:ところで、そのあいまいな段落の下部に、この非常に関連性の高い警告があります:

patch は、多くの推測を行う必要がある場合でも、通常は正しい結果を生成します。ただし、結果は、パッチが生成されたファイルの正確なコピーにパッチが適用された場合にのみ保証されます。

残念ながら、この場合、彼らの mod_cache.h が公式の 2.2.14 mod_cache,h と同じかどうかはわかりません! )-:

0 投票する
3 に答える
5687 参照

diff - Solarisに統合差分パッチを適用できません

たとえば、2つのファイルがある場合:

file1:

およびfile2:

次のコマンドでパッチを作成します。

結果は次のとおりです。

次に、patchコマンドを使用してこのパッチをSolarisに適用しようとすると、次のようになります。

ハングアップします:

1.統合された差分でSolarisネイティブパッチコマンドを使用する方法はありますか?

2.統一フォーマットを適用できない場合、どの差分フォーマットが最も移植性が高いと考えられますか?

更新: 質問の最初の部分で答えを見つけました。2番目のファイル(この場合はfile2 patch)が最初のファイル(file1)と同じフォルダーに存在する場合、Solarisでハングするようです。たとえば、次の非常に一般的な差分:

非常に一般的なパッチコマンドでは機能しません:

次の差分(2番目のファイルの名前が変更されていることに注意してください):

完璧に動作します。

私の質問の2番目の部分については、以下の受け入れられた回答を参照してください。

0 投票する
3 に答える
989 参照

python - Python で統合差分をレンダリングする

svn Unified diff を含む文字列があります。私の PyGTK アプリは、この差分をユーザーに表示する必要があり、他の差分ツールと同じようにレンダリングするか、少なくとも色付けしたいと考えています。

外部ツール、ライブラリ、カスタム実装など、提案するものはありますか? 私はhttp://kafka.fr.free.fr/diff2html/を探していましたが、ユーザーがサードパーティのアプリをインストールする必要がないように、そのようなライブラリまたは sth を使用することを好みます。

後で git と mercurial の diff にもこれを使用したいと思います。

0 投票する
1 に答える
203 参照

perforce - P4Eclipse 統合差分

Perforce for Eclipse のデポと比較して、ローカルの変更に関する Unified 形式の .patch ファイルを取得するにはどうすればよいですか?

私は CVS のこの機能に慣れているので、実際には他のどの Diff 形式でも機能します。

0 投票する
0 に答える
264 参照

diff - パッチが失敗した理由を正確に見つける方法は?

パッチが拒否する統合差分パッチがあります。差分ファイルと元のコードを目視検査すると、差分ファイルが期待するすべてのテキストが正しい場所にコードに含まれていることがわかります。--ignore-whitespace と -F3 を試してみましたが、パッチはまだ失敗しています。パッチが失敗する原因を正確に報告するオプションはありますか?

0 投票する
2 に答える
11098 参照

diff - kdiff3 ファイルの比較から、統一された diff 形式で diff を生成できますか?

Windows で kdiff3 比較があり、比較をテキスト ファイルとして統合 diff 形式で保存したいと考えています。

これは奇妙な質問だと思います。通常、人々はすでにテキスト diff を手にしており、それを kdiff3 でグラフィカルに見たいと思っています。

Windows で...変わった... バージョン管理ツールを使用していますが、バージョンを比較して kdiff3 で比較を表示できます。ただし、少なくとも私のような非 ClearCase 忍者にとっては、Unix に適した出力を生成することは明らかに不親切です。

私が本当に、本当に好きなのは、比較の出力を統一された差分形式で取得することです。これにより、 のようなツールを使用できますpatch。私は ClearCase が特に好きというわけではありません。

kdiff3 は既存の比較を取得して、統一された diff 形式にエクスポートできますか?

0 投票する
1 に答える
4088 参照

tortoisesvn - TortoiseSVN の 2 つのリビジョン間にパッチ ファイルを作成するには?

TortoiseSVN 1.7 を使用しており、2 つのリビジョン間にパッチ ファイルを作成したいと考えています。

検索しましたが、これらのスレッドTortoiseSVN を使用してリビジョン間の差分からパッチを作成するにはどうすればよいですか? 非常に単純なファイル (パッチ ファイルではない) が生成されるため、2 つのリビジョン間でパッチを作成してもうまくいきません。Show changes as unified diff何かのようなもの

インデックス: myfile.txt

================================================== =================

違いの表示で読みました

特定のリビジョンのすべてのファイルに加えられた変更を 1 つのビューで確認したい場合は、Unified-Diff 出力 (GNU パッチ形式) を使用できます。これは、数行のコンテキストとの違いのみを示しています。視覚的なファイル比較よりも読みにくいですが、すべての変更がまとめて表示されます。[リビジョン ログ] ダイアログから目的のリビジョンを選択し、コンテキスト メニューから [Show Differences as Unified-Diff] を選択します。

有用な diff 情報を含む単一のパッチ ファイル (または変更されたファイルに応じた多数のパッチ ファイル) を作成したい (メニュー コンテキスト TortoiseSVN -> パッチの作成 ...)

0 投票する
1 に答える
1864 参照

command-line - tf diff /recursive /format:unified - 出力にフォルダー名を含めない方法

TFS の 2 つのバージョン間の差分を統合差分ファイルとして生成したいと考えています。そうです

生成された出力には、必要に応じてファイルのすべての違いが含まれていますが、違いがない場合でも、比較するフォルダーごとに 4 つの追加行も含まれています。したがって、特定の変更セット間で実際のコード変更がほとんどない大規模なプロジェクトの場合、次のような 90% 以上の行からなる差分ファイルが生成されます。

これらの行を含めないように指示tfする方法はありますか?

ありがとう