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

Reply via email to