| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
This was a wild idea when we first designed the branch structure.
It causes more problems than it's worth as you may have multiple
workspaces, and it needed to be set manually in the first place.
|
|
|
|
|
| |
Currently the message is still displayed "Updating xxx" but no
update is actually done.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Rework the test outputs to match reality. This is due to tweaks in how morph
edit/checkout gets its repository now that the copy-from-cache is marginally
more like a traditional clone in terms of what you get at the end.
|
|
|
|
|
|
|
| |
This way we can store more branch config options in the future more
conveniently without having store them all in separate files or writing
our own code to parse the options into a branch config object or
something like that.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this commit, "morph branch" and "morph checkout" remember the
repository that was branched off from (the "branch root") in a special
file called
$workspace/$branch/.morph-system-branch/branch-root
This information is later used when checking out individual
repositories using "morph edit" instead of using the previously
hard-coded "$workspace/$branch/morphs" repository as the branch
root.
This commit also updates the "morph merge" code to handle repositories
specified with aliases or as full URLs in the same way "morph checkout"
does.
All affected tests are updated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
The commands "morph branch" and "morph checkout" now create a
.morph-system-branch directory for each system branch. This is the
per-branch analogue to the .morph directory for a workspace.
The .morph-system-branch directories make it possible to store
state and other information for system branches. They also make
deducing the current system branch more robust and clear.
|
| |
|
|
|
|
|
|
|
|
|
| |
This requires changing CachedRepo.checkout to handle non-sha1 refs,
which resulted in some further changes in tests and their expected
outputs.
Also, a fix to CachedRepo to use the cwd keyword argument instead
of pwd.
|
|
|