diff options
Diffstat (limited to 'yarns/branches-workspaces.yarn')
-rw-r--r-- | yarns/branches-workspaces.yarn | 52 |
1 files changed, 11 insertions, 41 deletions
diff --git a/yarns/branches-workspaces.yarn b/yarns/branches-workspaces.yarn index c542994a..96fbbd12 100644 --- a/yarns/branches-workspaces.yarn +++ b/yarns/branches-workspaces.yarn @@ -58,15 +58,6 @@ Checking out a system branch should fail, if the branch doesn't exist. WHEN the user attempts to check out the system branch called foo THEN morph failed -Checking out a system branch should also fail if the repository does -not contain any system morphologies. - - SCENARIO checking out a system branch with no systems - GIVEN a workspace - AND a git server - WHEN the user attempts to check out from a repository with no systems - THEN morph failed - We can, instead, create a new system branch, off master. SCENARIO branch off master @@ -187,21 +178,21 @@ all the refs are unchanged. GIVEN a workspace AND a git server WHEN the user creates a system branch called foo - THEN in branch foo, stratum test-stratum refs test-chunk in master + THEN in branch foo, stratum strata/test-stratum.morph refs test-chunk in master Edit the chunk. We make use of special knowledge here: `test:test-chunk` is a chunk repository created in the mocked git server, for testing purposes. - WHEN the user edits the chunk test-chunk in the stratum test-stratum in the system test-system in branch foo - THEN in branch foo, stratum test-stratum refs test-chunk in foo + WHEN the user edits the chunk test-chunk in branch foo + THEN in branch foo, stratum strata/test-stratum.morph refs test-chunk in foo AND the edited chunk test:test-chunk has git branch foo Editing a morphology should not cause it to start having repo or ref fields when referring to strata, when it didn't before. - AND in branch foo, system test-system refers to test-stratum without repo - AND in branch foo, system test-system refers to test-stratum without ref + AND in branch foo, system systems/test-system.morph refers to test-stratum without repo + AND in branch foo, system systems/test-system.morph refers to test-stratum without ref Status of system branch checkout -------------------------------- @@ -216,7 +207,7 @@ repositories referenced in the system branch. WHEN the user creates a system branch called foo THEN morph reports no outstanding changes in foo - WHEN the user edits the chunk test-chunk in the stratum test-stratum in the system test-system in branch foo + WHEN the user edits the chunk test-chunk in branch foo THEN morph reports changes in foo in test:morphs only WHEN creating file foo in test/test-chunk in branch foo @@ -241,7 +232,7 @@ branch checkout. GIVEN a workspace AND a git server WHEN the user creates a system branch called foo - AND the user edits the chunk test-chunk in the stratum test-stratum in the system test-system in branch foo + AND the user edits the chunk test-chunk in branch foo AND running shell command in each repo in foo THEN morph ran command in test/morphs in foo AND morph ran command in test/test-chunk in foo @@ -266,8 +257,8 @@ unpetrify and verify that we have all the same refs as before. Petrifying a morphology should not cause it to start having repo or ref fields when referring to strata, when it didn't before. - AND in branch foo, system test-system refers to test-stratum without repo - AND in branch foo, system test-system refers to test-stratum without ref + AND in branch foo, system systems/test-system.morph refers to test-stratum without repo + AND in branch foo, system systems/test-system.morph refers to test-stratum without ref Unpetrify must put the morphologies back in the same logical state they were in before. @@ -278,29 +269,8 @@ were in before. Unpetrifying a morphology should not cause it to start having repo or ref fields when referring to strata, when it didn't before. - AND in branch foo, system test-system refers to test-stratum without repo - AND in branch foo, system test-system refers to test-stratum without ref - -Tagging system branches ------------------------ - -`morph tag` creates a git tag in the system branch's root repository, -and a petrified commit the tag refers to. It does not petrify the -system branch itself, only the tag. - - SCENARIO morph tags a system branch - GIVEN a workspace - AND a git server - WHEN the user creates a system branch called foo - AND the user tags the system branch called foo as test123 - THEN morph tag test123 in foo is an annotated git tag - AND morph tag test123 in foo refers to a petrified commit - AND foo is not petrified - -Creating a tag twice should fail. - - WHEN the user attempts to tag the system branch called foo as test123 - THEN morph failed + AND in branch foo, system systems/test-system.morph refers to test-stratum without repo + AND in branch foo, system systems/test-system.morph refers to test-stratum without ref Generating a manifest works |