[Developers] cactus feature request: source code saves
Denis Pollney
Denis.Pollney at aei.mpg.de
Sun May 22 06:28:11 CDT 2005
Hi,
I had some discussion with frank and erik yesterday regarding the
reproducability of runs. We often introduce small changes to the code
we're running in our local directories without commiting them to CVS,
since we're just trying something out. We then might later use the same
source tree, forgetting that it is slightly modified.
Ideally each run output directory should have a copy of the source code
that was used to produce the output.
The easiest thing to do would be to just record the entire source tree
with each run. This means an overhead of more than 200Mb of data, which
for runs with high I/O is no big deal, but for hundreds of small runs
would start to add up. And it's a waste, given that most of the recorded
source will be identical.
A more elegant solution could be something like this. When an executable
is created:
for every file in the source tree used to generate the executable:
record the version identifier from CVS
for every file that differs from the version in CVS:
record a patch corresponding to the difference
The run's output directory could then contain a source subdirectory
which contains an inventory file (which lists the CVS version of each
source file), and the collection of patches required to construct
the executable that was run.
In general, when we're testing we only make a few small isolated
changes, so the collection of patches will be pretty small.
With such a system, an accompanying script could be written to easily
reconstruct (from CVS versions + the recorded patches) the source tree
corresponding to a given set of output at any later date.
Additionally, it would be very easy to determine the forgotten changes
that might have gone into a particular executable, by looking at the
recorded patches.
Sound like a reasonable/plausible idea?
Denis.
--
----------------------------------------------------------------------
Denis Pollney <Denis.Pollney at aei.mpg.de> office: +49-331-567-7623
Max-Planck-Institut fuer Gravitationsphysik mobile: +49-170-302-3132
Albert-Einstein-Institut, Am Muehlenberg 1, D-14476, Golm, Germany
More information about the Developers
mailing list