| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
The test suite got adapted so it requires the new edit instead of the
old one. So use the new edit instead of the old one in the test.
This is a kluge, and needs to be reverted after the BR10 release.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
ssh://git.baserock.org/baserock/baserock/morph
This includes the following fixups:
- altering the bootstrap script to install ordereddict and simplejson.
- Adding a comment to clarify that it is intentional to use simplejson
if collections does not have OrderedDict
- Amending the copyright years to include 2013
|
|/
|
|
|
| |
As we use ordererdict for python < 2.7 as well
See 37f8d84d7ab356169bf7c04bdecb39a61b85c88d
|
|
|
|
| |
Be consistent about placement of test description, blank lines, etc.
|
|
|
|
|
|
|
|
| |
Most of the bespoke logic for the version check is unnecessary,
since the output to display can be easily inferred from the filename.
This fixes some test failures where the version check would cat a
file to fake the output, but fail because the file was removed.
|
|
|
|
|
|
|
|
|
|
| |
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 change causes 'morph petrify' to avoid petrifying any chunk whose
ref matches the current system branch, because it makes no sense to
petrify something that is also being edited. It also improves efficiency
slightly and adds warning where different systems point to different
refs of the same stratum.
A non-obvious effect of this is that if you try to petrify 'master',
many of the chunks won't get petrified because they are built from
'master'. However, petrifying master makes no sense so I'm not sure
that we need to worry.
|
|
|
|
| |
Tested in the petrify test, to avoid duplication.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This requires disabling the feature that retains the original order of
fields in a morphlogy when it gets overwritten. The implementation relies
on features that are not available in Python 2.6. We need to support
Morph on Debian squeeze, for bootstrapping purposes, and therefore need
to have it work with Python 2.6. However, the morphology rewriting is
only relevant for system branching and merging, and that isn't needed
for bootstrapping, so we disable the affected tests on Python 2.6.
|
|
|
|
|
|
|
|
|
| |
This gives us consistency with morphologies, where the triplets are
repo|ref|morphology, not repo|ref|filename
Anyone who runs 'morph build baserock:morphs master system.morph' will
now see an error ending with 'was looking for system.morph.morph', which
should make it clear where they have gone wrong.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of hard-coding "baserock:morphs" as the repository we check out
from, we want to allow people to check out from arbitrary repositories
with system and stratum morphologies.
This commit adds a mandatory repository parameter to "morph checkout".
This parameter can either be an aliased repo, e.g. baserock:morphs, or
a full repo URL such as ssh://gitano@git.baserock.org/baserock/morphs.
When cloning the actual repository into a local directory, the following
happens:
For alias repos baserock:morphs and baserock:foo/bar, the repositories
would be cloned into the directories
$workspace/$branch/baserock:morphs
and
$workspace/$branch/baserock:foo/bar.
For repos specified using full URLs, the scheme and .git suffix (if
present) are stripped off. The above ssh example would be cloned into
the following directory:
$workspace/$branch/gitano@git.baserock.org/baserock/morphs
This commit also adjusts all affected tests and adds a new test to
verify that checking out from full repo URLs works as expected.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are mainly three situations to deal with:
1. We are outside a workspace and cannot deduce the system branch.
2. We are inside a workspace and inside a branch. We can detect this
by walking up from the working directory towards the workspace.
If we find a .morph-system-branch in one of the parent directories,
we know the branch name. If we don't find one, something is wrong.
3. We are inside a workspace but outside a branch (or partially into
a branch, e.g. in foo/ where the branch is foo/bar). We can deduce
the branch if we recurse into subdirectories to find a
.morph-system-branch directory. Care needs to be taken to not
recurse infinitely. We may also not recurse if there are multiple
subdirectories as these could belong to two different branches.
This commit makes "morph show-system-branch" work in all of the above
scenarios. It also adds tests for all of them.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mine may be a nice metaphor but it is not very intuitive. Hence, this
commit renames "mine" to "workspace". This affects not just the branch
and merge plugin (the only code that changes) but also documentation
and tests, which are updated along with the code in this commit.
I decided to omit the "dir" suffix in the command because I think
people know well that a workspace will be a directory in this case
and that allows us to refer to this concept with one word ("workspace")
instead of two words ("workspace directory").
|
|
This test checks if the same morphology json is generated during
petrification.
Because commits include the author and date, the sha1 sum will
differ if a different user commits at a different time.
This can be overridden by the environment variables
GIT_{AUTHOR,COMMITTER}_{NAME,EMAIL,DATE}.
The date chosen was just something recent at the time the work was
done, since a too-early timestamp is rejected by git as invalid.
|