Skip to content

Differential blueprint-create#94

Merged
rcrowley merged 3 commits into
masterfrom
differential-create
Oct 18, 2011
Merged

Differential blueprint-create#94
rcrowley merged 3 commits into
masterfrom
differential-create

Conversation

@rcrowley

@rcrowley rcrowley commented Oct 7, 2011

Copy link
Copy Markdown
Member

This adds the --diff option to blueprint-create which supports creating blueprints relative to another one. Specifically, the blueprint named by the --diff option is subtracted from the newly created blueprint before it is committed as usual. Using a base blueprint as the --diff would allow the evolution of a customization on top of it (and vice versa, though this is a bit tougher to reason about).

This is necessary for the next commit(s).
The blueprint JSON format is reconstituted in Python as a dict-of-dicts-and-lists but in reality the format involves a lot of defaultdict and set objects, which have nicer APIs for use in live Blueprint objects.  The constructor now uses the walk algorithm with a set of callbacks that reconstitute the rich object structure with the same data.
This allows blueprints to be created relative to another, resulting in less duplication and more potential for modularity.
@rcrowley

rcrowley commented Oct 7, 2011

Copy link
Copy Markdown
Member Author

Our original discussion called for --append as well but I'm starting to wonder whether that's necessary.

@rcrowley rcrowley merged commit 11190dc into master Oct 18, 2011
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant