| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
System branch: master
|
|
|
|
| |
System branch: master
|
|
|
|
| |
System branch: master
|
|
|
|
|
| |
Previously it was incorrect in the `morph help` output and in Morph's
man page.
|
|
|
|
|
|
| |
It broke when we added /baserock/deployment.meta.
We didn't notice this because our test suite was looking at the artifact
produced by morph build, and listed on the terminal.
|
|\
| |
| |
| |
| | |
Reviewed-by: Daniel Silverstone
Reviewed-by: Pedro Alvarez
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There was a check in it to see whether it needed to do the git branch
and git checkout based on whether the name of the branch matched that in
the morphology.
This had a couple of problems:
1. Now that we aren't always building from HEAD, we need to be able to
roll its commit back, so using the existing branch isn't always the
best idea.
2. It only checks the "ref" field, not "unpetrify-ref", so even though
we clone the right ref in there, it's checking the commit id against
the system branch name, so would always try to re-create the branch,
and fail when it already exists.
So now, we remove the original ref and re-create it with our preferred
HEAD.
A better solution might be to change the clone logic to not
automatically checkout HEAD, and instead require an explicit branch then
checkout, but the initial clone logic is shared with build, and I didn't
feel like tracking down all the different places that it was used.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The help for the show-branch-root command said it returns a path, but
the command and the yarns just showed the aliased url it was cloned
from.
Given I found myself needing the path in some scripts, not the repo url,
I think it's more useful to reconcile the difference this way.
|
|/
|
|
|
|
|
| |
We don't use this any more, and instead prefer to always keep
definitions.git petrified, and update the refs ourselves.
branch-from-image still uses some of the remaining petrify code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rather than repeatedly stripping and appending an optional .morph extension
morphology names, instead always use the file path of the morphology
relative to the definitions repository.
This is an inversion of the previous logic, which would strip the .morph
extension and use the "name" internally.
The exception to this rule of always using the filename, is that `morph
edit CHUNK` uses the name of the morphology as-defined in the stratum.
This is based off Adam Coldrick's inital patch, but this version will
allow the old style of providing the "name" by converting it into a path
if it does not have either a / or a . in it.
An unfortunate consequence of this change is that the show-dependencies
command's output changed, so the test needed updating.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`morph merge` only worked for a small subset of cases, and has been left
to bit-rot, since we don't use it.
`morph tag` is just a `git tag` when we have petrified definitions
repository. We don't use it, nor do we need it, so it can go away rather
than take up valuable development time fixing it when requirements
change.
`old-foo` have all been superceded by newer versions and are no-longer
used.
|
|
|
|
|
|
|
| |
This includes various changes allowing the repo and ref fields to be
missing; but also a change to the the component_key function, so that
instead of generating a string, it returns a tuple, since it's only
required to be a consistently hashable index.
|
|
|
|
| |
The old build is still around for comparison.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This wasn't working, since the build-without-push code works by including
morphologies that have had their ref changed to the branch's name.
This is not done by edit if it is null, since the extra ref resolution
can cause interesting issues.
Instead of changing edit to continue to alter the ref, build will now
allow null meaning this current repo/ref.
This has the side-effect of also checking morphologies referred to by
a null ref, even if they aren't altered, but it still works correctly.
|
|\
| |
| |
| | |
Changed the error (exception) to list all obsolete fields.
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
| |
This changes the interface of branch-from-image to only take 1 parameter,
the name of the new system branch, as the root repository is loaded from
the metadata.
This was also what the previous version of branch-from-image did, but
that silently ignored the parameter.
Given there are not many users of branch-from-image, I felt it was a
reasonable change.
|
|
|
|
| |
The previous status is currently still available as old-status.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This also undoes the test suite change to keep it using the old petrify.
Petrify and Unpetrify have the same structure:
1. Set up
2. Load all the morphologies
3. Make changes to the morphologies
4. Write back any changes
This suggests some re-use in the form of passing a function callback to
a morphology visitor.
|
|
|
|
|
| |
This includes amending the test suite to use the old petrify, since the
old unpetrify depends on some implementation details of it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous version attempted to separate the output of the commands
run with newlines by printing a newline at the beginning if it wasn't
the first repository.
The check it used was for the first repository was flawed by assuming
that the root repository was the first repository processed.
Since the complication was not worth keeping the output identical, it
has been changed to separate by printing a newline after every command
and the test output has been amended to include the extra trailing
newline.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 2dc382a2a9ae977b1158002cd2631ec5593959c1, reversing
changes made to 89a019af088ff62459699a6efdadf8ac8fe35dd9.
We decided to restore the old commands for the release, as we weren't
confident the new implementations were correct yet.
To gain that confidence we need to use them, so the old versions are no
longer available, and the new edit code is used when the edit subcommand
is invoked.
Doing so also requires the test suite to use the edit command instead of
new-edit.
|
|
|
|
|
|
|
|
|
| |
Most of the subcommands are available as "old-foo". The exception is
edit, for which we've decided to stick with the old implementation by
default. Thus the new implementation is "new-edit".
This is all meant to be a safety net so that for BR10 we are not stuck
in limbo in case the new implementations are broken in unexpected ways.
|
|
|
|
| |
Add the necessary tests to keep CoverageTestRunner happy.
|
|
|
|
|
|
| |
Test suite currently fails because MorphologyLoader validates differently
from the old MorphologyFactory code, and because MorphSet changes refs
more correctly (including, it seems, build-dependency refs).
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Put new implementation into new branch and merge plugin, and remove
old implementation from the old plugin.
Also change the error message for the NotInWorkspace exception, so that
it matches what the test suite expects. It's a crappy error message, I
think, but I don't want to change external behaviour during refactoring.
|
|
|
|
|
|
|
| |
Move "morph init" into a plugin, and remove it from the previously
existing plugin. This keeps all the old, tricky code in the old
plugin, and moves new, clean code into a new plugin. Eventually the
old plugin can be removed, since it'll be empty.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|