Es posible invocar la funcionalidad diff de Mathematica desde la línea de comandos?
TortoiseSVN (tanto comootros clientes de Tortoise) Incluir unguió a diff archivos de cuaderno en Mathematica. La funcionalidad Diff para Mathematica se implementa en AuthorTools paquete (¿tal vez hay algo mejor?)
La secuencia de comandos actualmente funciona creando un pequeño archivo de cuaderno en el directorio temporal y abriéndolo en el front-end. El portátil tiene un botón grande que hará la diferencia y tiene los nombres de los archivos a codifica
Una desventaja es que el portátil con el código diff se dejará en el directorio temporal y no se limpiará. También parece innecesario tener un cuaderno auxiliar abierto cada vez que hacemos un diff.
¿Es posible iniciar la funcionalidad diff desde la línea de comandos para evitar pasar por el cuaderno temporal? ¿O hay alguna otrarobust forma de mejorar este proceso y evitar ensuciar la carpeta temporal con cuadernos auxiliares?
¡Cualquier sugerencia para mejorar la experiencia diferente es bienvenida!
Tenga en cuenta que, dado que TortoiseSVN es un programa de Windows, me interesan principalmente las soluciones basadas en Windows.
Aquí hay un cuaderno de ejemplo que genera el script. Me doy cuenta de que necesita limpieza, pero la última vez que lo comprobé también funcionó en la versión 5 (!), Por lo que no quería tocarlo innecesariamente (sin mejorar visiblemente algo).
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}
]