Neil Mitchell wrote:
Hi
> Or am I being naive?
date/time doesn't work well with darcs. Consider the case where we
have a
successful build on date T, and then someone sent us a patch P that they
recorded before T. We push the patch, and now "all the patches up to
date T"
includes P, but it didn't when we did the build. This is why we need
full tags
or contexts to identify the contents of the tree.
Rather than messing with tags, and assuming that disk space is cheap,
you could do:
* Each buildbot has two repos, "active" and "works"
* Buildbot pulls into "active"
* Buildbot builds
* if successful buildbot pushes from "active" to "works"
This way every buildbot records the exact tree it last built
sucessfully. A developer can pick the buildbot tree that most closely
matches their setup and pull from the "works" tree for that one.
The disadvantage is that you need quite a bit of disk space, and that
if a buildbot is dead for a long time the "works" tree may get quite
old.
I wondered about this too, but I was worrying about ensuring atomicity during
the push, especially since we have multiple repos. Maybe it's not a serious
problem.
Space required for the other trees isn't a problem - they'd be linked together
on the server. If you want per-platform known-good repos, that's more
duplication though.
Cheers,
Simon
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc