MathGroup Archive 2010

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

Search the Archive

Re: suggestions for version control or backup systems?

  • To: mathgroup at
  • Subject: [mg112950] Re: suggestions for version control or backup systems?
  • From: Albert Retey <awnl at>
  • Date: Thu, 7 Oct 2010 03:37:25 -0400 (EDT)
  • References: <i8c8sa$g7l$> <i8erfg$hsd$> <i8h7jb$ce2$>


> The main problem I encounter is that bzr tries to merge my nb files,
> which of course differ a lot from each other because of different
> output cells, etc. It then screws up the nb by placing markers which
> are supposed to help you resolve the conflict, which of course is just
> a pain! So I want a vcs which handles binary files better and
> preferably doesn't screw them up. Maybe I should also think of
> deleting my output cells, on the other hand it may take some time to
> recreate them... Anyway, thanks for your heads up on hg!

The merging problem will probably exist for every vcs out there, since
almost every vcs I know or have heard of works in a line oriented way. I
think there are alternatives, which try to store and compare some kind
of interpreted expression instead of plain text, but I am quite sure
there is none that understands the internals of notebooks (or
mathematica expression syntax in general). It would maybe be an
interesting task to implement something like that in Mathematica itself :-)

As far as I remember both svn and hg -- and probably most other vcs --
do this kind of automatic merging but also can just extract the two
versions that conflict so you can do the merging by hand, I do that once
in a while with the NotebookDiff-Utility from the old AuthorTools
package. Maybe you will need some configuration or extra commands to
check out the two conflicting versions instead of the one with the
conflict marks.

So the problem you had will not be solved by using another vcs, but
maybe you will find it easier to configure one of them to not even try
the automatic merges. With newer version I find it a reasonable approach
to edit .m files in the frontend, which has the advantage that these can
be treated as regular text code files by a vcs, so you will even be able
to take advantage of automatica merges...



  • Prev by Date: Re: Find minimum number of operations
  • Next by Date: Re: change the base of the Log[] used by LogLogPlot?
  • Previous by thread: Re: suggestions for version control or backup systems?
  • Next by thread: For loop outputs to a list