私はjavascript diffアルゴリズムの実装やライブラリを探しています。これはテスト済みで、任意のutf8テキストファイルで動作します。nodejsにはdiffライブラリやアルゴリズムがありますか?
私がこれまでに見つかったもののすべてのコーナーケースに失敗する(例えば、http://ejohn.org/projects/javascript-diff-algorithm/を言う)
(私の例ライブラリ内の文字列'__proto__'
を含むファイルを使用してみてください。)
私はjavascript diffアルゴリズムの実装やライブラリを探しています。これはテスト済みで、任意のutf8テキストファイルで動作します。nodejsにはdiffライブラリやアルゴリズムがありますか?
私がこれまでに見つかったもののすべてのコーナーケースに失敗する(例えば、http://ejohn.org/projects/javascript-diff-algorithm/を言う)
(私の例ライブラリ内の文字列'__proto__'
を含むファイルを使用してみてください。)
をインストールNPM - jsdiff
アップストリームが再び先行しているので、リンクを更新しました。私はあなたがこれを投稿した時点で上流が後退していたと考えています。これは以前にリンクされたものです:https://github.com/NV/jsdiff –
があります私が次のページのjavascriptで書いたdiffアルゴリズムの実装です。
https://github.com/cubicdaiya/onp
これはnode.js.で実行されますさらに、次のページにnode.js用のC++アドオン・バージョンがあります。
https://github.com/cubicdaiya/node-dtl
あなたはNPMでこれをインストールすることができます。
$は多分これがお手伝いします-g DTL
もあり、JavaScriptで書かれた差分/パッチライブラリであるadiff。どこかMocha test toolの内部
はい、 - TJ Holowaychuk's blog post about itを参照してください。
私はgoogle diff match patchのファンクラブです。例hereを試すことができます。
diffの間の共通性のレベルを微調整するためのクリーンアップオプションがあります。私はそれがあまりにも積極的だと私はセマンティッククリーンアップオプションが好きではないが、10の値で効率クリーンアップは私のためにうまく動作します。
これはJava、JavaScript、Dart、C++、C#、Objective C、Lua、Pythonで利用できるので、私はこれが好きです。言語にかかわらず、各ライブラリは同じAPIと同じ機能を備えています。 – elwarren
JavaScriptライブラリwikEd diffをご覧ください。 Unicodeと多言語対応があります。また、ブロック移動を検出して強調表示し、単語/文字に基づいています。 online too/demoを使用して、さまざまな設定をテストし、内部データ構造を調べることもできます。図書館のコードは完全にコメントされています。
http://toolbox.no.de/search?q=diff – fent
DeaDEnDは、回答として私の問題を解決してください投稿してください。 – blueberryfields
unixのために書かれたdiffツールがあります。それらを使用してください – Raynos