| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
It doesn't do any actual building, so it doesn't matter that using
build-mode: bootstrap everywhere means that it would end up with an
empty system artifact.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This now means that the system morphology is not altered when chunks are
altered, so some tests had to change.
Since this uses the python warnings API, these warnings can be ignored
by running
python -W ignore:"stratum morphology" \
-W ignore:"system morphology" \
"$(which morph)" ...`
or turned into errors with
python -W error:"stratum morphology" \
-W error:"system morphology" \
"$(which morph)" ...`
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes petrify much simpler, since adding unpetrify-ref is handled
by MorphSet.
This has the side-effect of adding unpetrify-ref when editing, but this
information is also useful for this use-case.
The edit tests now have different diffs and commits, so those have been
updated.
Also, the old merge code currently warns that now there appears to be
petrified changes, since it detects if a branch is petrified by the
presence of the unpetrify-ref field, even though the ref is not a SHA1.
The old code does not handle undoing an edit the new way, so I did not
feel it was worth attempting to comprehend it to fix this bug, which
will be later fixed by the introduction of the new merge code.
|
|
|
|
|
|
|
|
| |
This also amends the test suite.
The git apply command to alter the stratum proved inflexible when
anything changed, so it has been replaced by a small in-line python
script.
|
|
|
|
|
| |
They were missing build depends or were empty.
Now that edit does validation, this is not permitted.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I shouldn't be doing this in the middle of refactoring, but trying to
get the new code to emit exactly the right kind of JSON is too much pain,
and these tests need to be rewritten to use YAML in the near future anyway
(we'll drop JSON support eventually), so I don't want to spend more time
on this than necessary.
The changes in this commit convert morphologies in JSON to YAML, and
fix test code that modifies the morphologies to work with the YAML.
There is probably more JSON lurking about.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Some tests already used test: and in order to be able to share the
scripts/setup-3rd-party-strata script they need to all use the same
prefix.
Using baserock: implies that we are using real code from Baserock,
so I picked test: because the tests only ever use mock morphologies
and no real code.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new command does a lot. First of all, its command line interface
has now changed to 'morph build SYSTEM' and it needs to be run from
a system branch.
When called, the new 'build' command will identify the repositories
and morphologies involved in building the system from the system branch,
create a build ref behind the scenes based on the system branch and add a
commit with all uncommitted changes to this build branch for every repo
involved. It will then push those build branches to the repository server
and kick off a build of BRANCH_ROOT BUILD_BRANCH SYSTEM.morph.
After building has finished, the remote build branches will be
deleted again.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Editing no longer requires a repository to be specified, neither does
it require a branch.
It now starts off from a system morphology that is required to exist
in the branch root repository. Relative to this system, "morph edit"
realises the repository of a stratum and, optionally, a chunk, creates
edit branches named after the system branch, if necessary, and update
the references in the system and stratum morphology accordingly.
The changes made to any of the repositories in the system branch
are not committed.
All existing changes are updated to work with this new input syntax
for "morph edit".
|
|
|
|
|
|
|
|
| |
This removes the requirement that all strata must be in the same
repo as the system morphology.
Both the system "strata" field and the stratum "build-depends" field
are affected.
|
|
|
|
| |
Rename "sources" field of stratum morphologies to "chunks".
|
|
|
|
|
|
|
| |
This will make a build fail if the morphology is missing explicit
build dependencies.
Also fix test causes so that ./check passes.
|
|
|