summaryrefslogtreecommitdiff
path: root/yarns/branches-workspaces.yarn
Commit message (Collapse)AuthorAgeFilesLines
* yarns: Use a more realistic simulation of a git serverbaserock/richardmaw/yarn-git-daemonRichard Maw2014-08-281-10/+23
| | | | | | | | | | | Previously we would use file: URIs to point to the git repositories. This was fast and simple, but had the drawback that it bypassed all the git cache logic, so changes to the git cache weren't adequately covered by the test suite. Now we spool up a simulated git server per scenario, and shut it down at the end.
* Add yarn for building uncommitted changesRichard Maw2014-08-281-1/+33
| | | | This replaces an old cmdtest.
* Fix `morph edit` when repo has the same ref as system branchRichard Maw2014-08-121-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Make morph show-branch-root print the pathRichard Maw2014-08-121-5/+5
| | | | | | | | | 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.
* yarns: Start from petrified refsRichard Maw2014-08-121-1/+0
| | | | | | | | | This is closer to our current workflow, where we are always petrified and update the ref field when we need to update a component. This required rearranging the operations to create the chunk repository before the definitions repository, and remove a check that assumes we weren't already petrified.
* Remove petrify and unpetrify commandsRichard Maw2014-08-121-35/+0
| | | | | | | 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.
* Merge remote-tracking branch ↵Richard Maw2014-08-121-2/+171
|\ | | | | | | | | | | 'origin/baserock/richardmaw/S11416/no-unnecessary-temp-branches' Reviewed-by: Daniel Silverstone
| * Add yarns for checking the state of temporary build branchesbaserock/richardmaw/S11416/no-unnecessary-temp-branchesRichard Maw2014-08-121-0/+169
| |
| * Yarns: misc fixesRichard Maw2014-08-121-2/+2
|/
* yarns: Adapt to put morphologies in subdirsbaserock/richardmaw/S11284/morphologies-by-path-v4Richard Maw2014-07-101-11/+11
| | | | | | | | | | | | | We want to move our morphologies in our definitions repository into subdirectories, so they're more organised. We'd prefer to only refer to morphologies by file path, rather than a name that loosely corresponds to the file path, but we need to support that for backwards compatibility until we can move all of our morphologies into the definitions repository. However, since we want to eventually remove this, and we want to ensure that file paths work, we change the yarn tests to use file paths.
* Exorcise some old and unused commandsRichard Maw2014-07-071-21/+0
| | | | | | | | | | | | | `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.
* Remove check on checkout/branch that there are systemsRichard Maw2014-07-071-9/+0
| | | | | | | This was the wrong response to the problem of accidentally checking-out morph when trying to check out morphs. Now that it's called definitions, this is irrelevent, and aborting a checkout when this check fails is the wrong thing to do.
* Fix tests for new `morph edit` syntaxPaul Sherwood2014-06-091-12/+1
|
* Fix directory names for chunks to use slashes, not colonsLars Wirzenius2014-03-061-5/+5
| | | | | These are _directory_ names, not chunk repo URLs, so a slash is correct now.
* Merge remote-tracking branch ↵Richard Maw2014-02-171-0/+22
|\ | | | | | | | | | | | | | | 'origin/baserock/richardmaw/10312/ensure-not-add-repo-ref' This includes a typo fix of Unpertify -> Unpetrify Reviewed-by: Lars Wirzenius
| * yarns: Ensure machine altered morphologies don't include repo/refRichard Maw2014-02-141-0/+22
|/
* Warn and default to null if repo or ref are givenRichard Maw2014-02-131-12/+3
| | | | | | | | | | | | | | | | | | This now means that the system morphology is not altered when chunks are altered, so some tests had to change. Since this uses the python warnings API, these warnings can be ignored by running python -W ignore:"stratum morphology" \ -W ignore:"system morphology" \ "$(which morph)" ...` or turned into errors with python -W error:"stratum morphology" \ -W error:"system morphology" \ "$(which morph)" ...`
* Remove tests for working with null refsRichard Maw2014-02-131-63/+0
| | | | | Refs should be completely omitted, and this is now the standard behaviour, so there's little value in testing the behaviour separately.
* Standardizes language and refactors some implementation stepsDaniel Firth2013-11-051-60/+60
|
* Added scenario test to prevent morph edit from being used without a system ↵Daniel Firth2013-11-011-0/+10
| | | | argument
* Some tests refactorized for better understanding.Pedro Alvarez2013-10-311-11/+11
|
* Add yarn test for autotools version guesserRichard Ipsum2013-10-081-0/+8
|
* Make branch commands work with null refsRichard Maw2013-09-261-0/+62
|
* Rename test to fix name clashRichard Maw2013-09-231-1/+1
|
* Remove duplicate yarnRichard Maw2013-09-231-9/+0
|
* 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.
* Fix name of yarn scenarioLars Wirzenius2013-08-191-1/+1
| | | | | | | | | This exposed a bug in yarn: it does not notice when two scenarios have the same name, and uses the same DATADIR directory for two scenarios. Oops. Fixed this by changing one of the scenario names in the Morph test suite. Yarn itself will be fixed separately.
* yarns: add a scenario for checking out a chunkRichard Maw2013-08-081-0/+18
|
* Add scenario (yarn) tests for most of branching and mergingLars Wirzenius2013-07-301-0/+283
These scenarios test the basics of most of the subcommands the branch and merge plugin provides. They don't purport to be complete, but give some indication that things work, and form a basis upon which further things can be built. Yarn also isn't included in a Baserock release yet, so we need to keep the cmdtests until Baserock 10 has been released. The existing cmdtest tests are not modified by this: they are left intact, until they can analysed in detail for things to be added to the scenarios. After that, the cmdtest tests will start to go away. Merging is not covered by these tests: it is not clear how merge should work, and the current code is known to do the wrong thing in many cases. Scenarios for merge will be added later. Building is also not covered. Testing builds well needs some additional, careful thinking, and that isn't ready for this patch series. It will be added later.