TortoiseSVN (および他の Tortoise クライアント) には、Mathematica でノートブック ファイルを比較するためのスクリプトが含まれています。Mathematica の diff 機能はAuthorToolsパッケージに実装されています (もっと良いものがあるのではないでしょうか?)
このスクリプトは現在、一時ディレクトリに小さなノートブック ファイルを作成し、それをフロント エンドで開くことによって機能します。ノートブックには、差分を実行する大きなボタンがあり、差分をハードコーディングするファイル名があります。
欠点は、差分コードを含むノートブックが一時ディレクトリに残され、クリーンアップされないことです。また、diff を行うたびに補助ノートブックを開く必要もないようです。
コマンド ラインから diff 機能を起動して、一時的なノートブックを経由しないようにすることはできますか? または、このプロセスを改善し、一時フォルダーに補助ノートブックを散らかさないようにする他の強力な方法はありますか?
diffing エクスペリエンスを改善するための提案は大歓迎です!
TortoiseSVN は Windows プログラムであるため、主に Windows ベースのソリューションに関心があります。
スクリプトが生成するノートブックの例を次に示します。クリーンアップが必要なのはわかっていますが、前回はバージョン 5 でも動作することを確認したので (!)、不必要に (目に見える改善なしに) 触れたくありませんでした。
Notebook[{
Cell[BoxData[ButtonBox["\<\"Compare Notebooks\"\>",
ButtonFrame->"DialogBox", Active->True, ButtonEvaluator->Automatic,
ButtonFunction:>(Needs["AuthorTools`"]; NotebookPut[Symbol["NotebookDiff"]["one.nb", "two.nb"]])
]], NotebookDefault] },
Saveable->False, Editable->False, Selectable->False, WindowToolbars->{},
WindowFrame->ModelessDialog, WindowElements->{},
WindowFrameElements->CloseBox, WindowTitle->"Diff",
ShowCellBracket->False, WindowSize->{Fit,Fit}
]