Unfriendly HEAD is unfriendly
claus.reinke at talk21.com
Mon Aug 4 06:50:54 EDT 2008
> I've done a little searching, and I found at least one continuous
> integration tool that will do this (for Git though, not Darcs)
"continuous integration" would seem to be a useful thing support
for which to have nice would be (even if it might permute patches
in unexpected ways, depending on when they pass the tests;-).
Could you please add that as a wanted feature to the RCS
I did once suggest to wrap new patches in '#ifdef BUILDBOT'
(unless they are definitely-I-swear-I'm-not-kidding-I've-got-proof
platform-independent), then gradually turn that into
'#if (defined(BUILDBOT) || platformX || platformY) && !(platformZ)'
as builders pull the patches and start reporting in with success or
failure. That suggestion was voted down because of CPP use,
IIRC, which was probably right.
But that doesn't mean that there may not be a cleaner way to
achieve the intended effect. Using darcs, and assuming that
branches will only be used for substantial groups of topically
related patches, not for day-to-day patching, one could imagine
adding a tested platform list to the description of every patch,
having humans only pull tested patches, while builbot pulls all
Having imagined things that far, one might tune this further, to
simply assume that every patch is for buildbot only at first, and
to have lists of successfully built/tested patches per platform:
0. for each platform, have a list of successfully tested patches
1. push patches as now
2. humans pull the lists of tested patches, then only pull
the patches on the list for their platform (unless they
are trying to debug the failed patches) - this could be
handled by a script like darcs-all
3. builders pull all patches, try to build
4. whenever a builder succeeds, it adds all its patches to
the list for its platform
Does that sound useful/doable?
More information about the Cvs-ghc