Re: Why does mathematica randomly rewrite notebooks?
- To: mathgroup at smc.vnet.net
- Subject: [mg54883] Re: [mg54838] Why does mathematica randomly rewrite notebooks?
- From: Josef Karthauser <joe at tao.org.uk>
- Date: Sat, 5 Mar 2005 01:34:28 -0500 (EST)
- References: <200503041007.FAA12985@smc.vnet.net> <200503041436.52607.jmt@dxdydz.net>
- Sender: owner-wri-mathgroup at wolfram.com
Good comments - thanks :). I'll comment below. On Fri, Mar 04, 2005 at 02:36:52PM +0100, jmt wrote: > A few remarks : > > 1 - CVS is line oriented, and lines MUST be less than 80 characters long, > while Mathematica notebooks make no assumptions on line length. This might > explain the changes you have noticed. > CVS doesn't have any line length restriction; in fact you can even store binary objects in a repostory as log as you know what you are doing (ignoring $foo$ expansion, etc). > 2 - Mathematica uses a cache, handling this cache in a versioning system can > be viewed as non-sense. The company "Analog Insydes" discusses this point and > provides a set of utilities for handling notebooks with CVS : > http://www.analog-insydes.de/ai/utilities/ > I have used these utilities up to version 5.0 without trouble of any kind. I'll take a look at their utils; thanks for the infomation. I have started my own set of tools to strip out caches, etc, and they work reasonably well modulo these random rewriting changes that mathematica is doing. > 3 - When notebooks contain some information that can be modified by the > versioning system, the FrontEnd will report a warning. If this warning can > oftenly be ignored, users might nevertheless have some doubt about the > versioning strategy, and there is no way to avoid this with CVS. I'm not sure what you are referring to here. CVS only changed $Id: msg00144.html,v 1.1 2019/07/12 15:01:40 brendane Exp $, $Header: /data/webcvs/Web/external/sites/forums.wolfram.com/htdocs/mathgroup/archive/2005/Mar/msg00144.html,v 1.1 2019/07/12 15:01:40 brendane Exp $, etc, and this kind of expansion can be switched off (with the -k flag). > 4 - After using CVS for some years, I switched to subversion. This system is > much more adequate for revision control than CVS is, especially for files > like mathematica notebooks. I do not modify the notebooks before storing them > in the repository (meaning I do NOT strip the cache off, even if this can be > viewed as a loss of disk resource), because disk space is no longer a problem > and because Mathematica projects seldom span over hundreds of files. If I > have no experience in migrating a project from CVS to subversion, all new > projects are now handled by subversion. My main requirement is the development of mathematica notebooks by a number of authors, and so for me the cache does need to be stripped off as well as any other data that may vary between each of the author's programming environments. What is important to me is to be able to only commit the changes in the notebook that led to the implementation change, and not any other non-relevant changes that mathematica might have made. Perhaps analog-insydes's tools might help here. I've not played much with subversion yet; we've been considering moving the FreeBSD project over to it for a while now. It does a lot of things much better than CVS, but the requirement of a central database server is actually a downside rather than a benefit. As things stand currently it is possible for a developer to have their own local copy of the cvs repository on their machine so that they can retain a complete copy of the revision history, etc, whilst they are off-line. With subversion this isn't possible, and so some kind of tradeoff requiring CVS to still be used is required. Regards, Joe -- Josef Karthauser (joe at tao.org.uk) http://www.josef-k.net/ FreeBSD (cvs meister, admin and hacker) http://www.uk.FreeBSD.org/ Physics Particle Theory (student) http://www.pact.cpes.sussex.ac.uk/
- References:
- Why does mathematica randomly rewrite notebooks?
- From: Josef Karthauser <joe@tao.org.uk>
- Why does mathematica randomly rewrite notebooks?