summaryrefslogtreecommitdiff
path: root/tests.branching/petrify.script
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Merge branch 'liw/restore-old-cmds'"Richard Maw2013-08-291-1/+1
| | | | | | | | | | | | | | | 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.
* Use new edit instead of old one in testsLars Wirzenius2013-08-191-1/+1
| | | | | | | 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.
* Fix test case for petrifyLars Wirzenius2013-07-031-0/+2
|
* Merge branch 'jjardon/python_compatibility_fixes' of ↵Richard Maw2013-01-211-4/+1
|\ | | | | | | | | | | | | | | | | | | 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
| * tests.branching/*: Remove check to run only the teset with Python 2.7Javier Jardón2013-01-181-3/+0
|/ | | | | As we use ordererdict for python < 2.7 as well See 37f8d84d7ab356169bf7c04bdecb39a61b85c88d
* Tidy up command testsSam Thursfield2012-11-141-4/+3
| | | | Be consistent about placement of test description, blank lines, etc.
* Consolidate checks for python versionRichard Maw2012-11-131-5/+1
| | | | | | | | 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.
* tests: Use test: URL prefix instead of baserock: throughoutSam Thursfield2012-11-071-2/+2
| | | | | | | | | | 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.
* morph petrify: Avoid petrifying chunks that have already been editedSam Thursfield2012-10-181-3/+8
| | | | | | | | | | | | | 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.
* Add 'morph unpetrify'Sam Thursfield2012-09-211-0/+6
| | | | Tested in the petrify test, to avoid duplication.
* morph petrify: Rewrite in the style of todaySam Thursfield2012-09-211-2/+1
|
* Fix things so test suite works on Debian squeezeLars Wirzenius2012-09-131-0/+7
| | | | | | | | | | 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.
* Don't require .morph in triplet argumentsSam Thursfield2012-09-121-3/+2
| | | | | | | | | 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.
* Make "morph checkout" require a repository parameterJannis Pohlmann2012-08-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Make "morph show-system-branch" anywhere in a workspace, if possibleJannis Pohlmann2012-08-291-3/+3
| | | | | | | | | | | | | | | | | | | | | 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.
* Rename the "morph minedir" command to "morph workspace"Jannis Pohlmann2012-08-291-1/+1
| | | | | | | | | | | | 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").
* Add test for petrifying strataRichard Maw2012-08-011-0/+32
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.