MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Why does mathematica randomly rewrite notebooks?

  • To: mathgroup at
  • Subject: [mg54883] Re: [mg54838] Why does mathematica randomly rewrite notebooks?
  • From: Josef Karthauser <joe at>
  • Date: Sat, 5 Mar 2005 01:34:28 -0500 (EST)
  • References: <> <>
  • Sender: owner-wri-mathgroup at

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 :
> 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/,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.

Josef Karthauser (joe at
FreeBSD (cvs meister, admin and hacker)
Physics Particle Theory (student)

  • Prev by Date: Re: Re: Re: Re: Bug in Import?
  • Next by Date: Re: Why does mathematica randomly rewrite notebooks?
  • Previous by thread: Why does mathematica randomly rewrite notebooks?
  • Next by thread: Re: Why does mathematica randomly rewrite notebooks?