purpose and value of MANIFEST

Bruce Gray bruce.gray at acm.org
Thu Sep 9 01:56:58 UTC 2010


On Sep 8, 2010, at 7:58 PM, Jonathan Leto wrote:
--snip--
> Which begs the question, why are we keeping generated
> stuff under version control?

To resolve the bootstrap issue.

For example (over-explained for posterity and lurkers):
	OPS2C is a key part of the Parrot build; it creates the C code for  
core ops.
		Without it, Parrot cannot even be built, much less execute any  
client (PIR/NQP/Perl6) code.
	OPS2C was originally in Perl 5, but now has been re-written in NQP.
	No NQP program can run without a built Parrot.
	Therefore, Parrot can no longer be built on a clean (Parrot-free)  
machine :(
	Unless!... someone who *does* already have Parrot runs OPS2C and  
stores the output where Parrot-less builders can access it.
	Which is what we do :)
(By the way, shouldn't  these bootstrap convolutions be specially  
documented as such?)

> It is usually not necessary

I see no other alternative, given the bootstrap issue.

> and makes
> some diffs unnecessarily
> large and hard to wade through.


I agree about large diffs.
To reduce this issue, I suggest *always* spiltting bootstrap-touching  
changes into (at least) two commits;
one (or more) with the changes to the non-generated files,
and a second (or last) *only* for the consequent Bootstrap Regeneration.

-- 
Hope this helps,
Bruce Gray (Util)





More information about the parrot-dev mailing list