TortoiseSVN (así como other Tortoise clients) incluyen un script a diff archivos de cuaderno en Mathematica. La funcionalidad de Diff para Mathematica se implementa en el paquete AuthorTools (quizás hay algo mejor?)¿Es posible invocar la funcionalidad diff de Mathematica desde la línea de comando?
La secuencia de comandos funciona actualmente al crear un pequeño archivo de cuaderno en el directorio temporal y abrirlo en la interfaz. La computadora portátil tiene un botón grande que hará la diferencia y tiene los nombres de los archivos a diferir codificados.
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 una diferencia.
¿Es posible iniciar la funcionalidad de diferenciación desde la línea de comandos para evitar pasar por el portátil temporal? ¿O hay alguna otra forma robusta para mejorar este proceso y evitar ensuciar la carpeta temporal con los cuadernos auxiliares?
¡Cualquier sugerencia para mejorar la experiencia diferente es bienvenida!
Tenga en cuenta que dado que TortoiseSVN es un programa de Windows, estoy interesado principalmente en soluciones basadas en Windows.
Aquí hay un cuaderno de ejemplos que genera la secuencia de comandos. Me doy cuenta de que necesita una limpieza, pero la última vez que lo revisé también funcionó en la versión 5 (!), Así 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}
]
Reputación interesante: http://i.stack.imgur.com/2ze1M.png –
El control de versiones de un portátil Mma no es fácil. Normalmente sigo los consejos dados por Michael Pilat en [esta pregunta] (http://stackoverflow.com/q/2816628/421225). Es decir. apague la memoria caché y el historial, luego use una diferencia estándar basada en texto. – Simon
@Simon 'NotebookDiff' parece funcionar bien, ¿tuviste problemas con eso? – Szabolcs