Les carnets Mathematica sont, bien sûr, des fichiers en clair - il semble raisonnable de s'attendre à ce qu'ils soient compatibles avec un système de contrôle de version (git dans mon cas, bien que je doute que le système spécifique importe). Mais le fait est que tout fichier .nb est rempli d'informations de cache, d'horodatages et d'autres métadonnées assorties. Des tas de métadonnées.
Ce qui signifie qu'un contrôle de version limité est possible -- les commits et rollbacks fonctionnent bien. La fusion, cependant, est un catastrophe . Mathematica n'ouvrira pas un fichier contenant des marqueurs de fusion, et un éditeur de texte ne permet pas de parcourir un fichier .nb.
Quelqu'un a-t-il réussi à placer un bloc-notes sous contrôle de version ? Comment ?
0 votes
Il n'y a pas grand-chose que vous puissiez faire pour les véritables conflits de fusion, lorsque deux personnes modifient réellement la même chose de manière contradictoire. Comme vous le dites, Mathematica ne peut pas ouvrir le fichier avec des marqueurs de conflit (ou faire une comparaison à trois en interne), vous devrez donc les résoudre vous-même dans le formulaire de texte. La réponse de Michael Pilat devrait vous aider à résoudre les conflits de métadonnées.
0 votes
Je ne suis pas familier avec Mathematica. Les fichiers .nb sont-ils générés automatiquement ? Si c'est le cas, ne les placez pas sous contrôle de version.
0 votes
@hasen j : Les fichiers .nb ne sont pas entièrement générés automatiquement mais ils contiennent des méta-données générées automatiquement. Je pense que la réponse de Michael Pilat dissipe toute confusion à ce sujet.
3 votes
@hasen j : Pour compléter ce que dreeves a dit, les fichiers .nb (notebook) sont le principal moyen de stocker le contenu Mathematica (code). Si quelque chose doit être sous contrôle de version, c'est bien eux.