summaryrefslogtreecommitdiff
path: root/tests.branching
diff options
context:
space:
mode:
authorJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-09-03 16:08:09 +0000
committerJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-09-04 16:17:09 +0000
commitbecff376751ea626567dba03fea75b6d153187d0 (patch)
tree3c18311b5a29922966c4a3c78b1e9f51423ccbfc /tests.branching
parent65b8156aa2a0c86e8eb6d0d88e9f91c75b250960 (diff)
downloadmorph-becff376751ea626567dba03fea75b6d153187d0.tar.gz
Rewrite edit command to expect SYSTEM STRATUM [CHUNK] parameters
Editing no longer requires a repository to be specified, neither does it require a branch. It now starts off from a system morphology that is required to exist in the branch root repository. Relative to this system, "morph edit" realises the repository of a stratum and, optionally, a chunk, creates edit branches named after the system branch, if necessary, and update the references in the system and stratum morphology accordingly. The changes made to any of the repositories in the system branch are not committed. All existing changes are updated to work with this new input syntax for "morph edit".
Diffstat (limited to 'tests.branching')
-rwxr-xr-xtests.branching/edit-checkouts-existing-chunk.script3
-rwxr-xr-xtests.branching/edit-clones-chunk.script3
-rwxr-xr-xtests.branching/edit-updates-stratum.script5
-rw-r--r--tests.branching/edit-updates-stratum.stdout27
-rwxr-xr-xtests.branching/edit-uses-ref-from-stratum.script5
-rwxr-xr-xtests.branching/edit-works-after-branch-root-was-renamed.script2
-rwxr-xr-xtests.branching/merge-explicitly-named-repos.script4
-rwxr-xr-xtests.branching/morph-repository-stored-in-cloned-repositories.script2
-rwxr-xr-xtests.branching/setup2
-rwxr-xr-xtests.branching/workflow.script4
10 files changed, 40 insertions, 17 deletions
diff --git a/tests.branching/edit-checkouts-existing-chunk.script b/tests.branching/edit-checkouts-existing-chunk.script
index 1c8e66cd..bc1650b7 100755
--- a/tests.branching/edit-checkouts-existing-chunk.script
+++ b/tests.branching/edit-checkouts-existing-chunk.script
@@ -26,8 +26,7 @@ cd "$DATADIR/workspace"
"$SRCDIR/scripts/test-morph" checkout baserock:morphs alfred
# Edit the hello chunk in alfred.
-cd alfred/baserock:morphs
-"$SRCDIR/scripts/test-morph" edit baserock:hello alfred
+"$SRCDIR/scripts/test-morph" edit hello-system hello-stratum hello
echo "Current branches, morphs:"
"$SRCDIR/scripts/run-git-in" "$DATADIR/workspace/alfred/baserock:morphs" branch
diff --git a/tests.branching/edit-clones-chunk.script b/tests.branching/edit-clones-chunk.script
index 7a3038a3..db138e59 100755
--- a/tests.branching/edit-clones-chunk.script
+++ b/tests.branching/edit-clones-chunk.script
@@ -26,8 +26,7 @@ cd "$DATADIR/workspace"
"$SRCDIR/scripts/test-morph" branch baserock:morphs newbranch
# Edit chunk.
-cd newbranch/baserock:morphs
-"$SRCDIR/scripts/test-morph" edit baserock:hello master
+"$SRCDIR/scripts/test-morph" edit hello-system hello-stratum hello
echo "Current branches, morphs:"
"$SRCDIR/scripts/run-git-in" \
diff --git a/tests.branching/edit-updates-stratum.script b/tests.branching/edit-updates-stratum.script
index db819088..9815fa22 100755
--- a/tests.branching/edit-updates-stratum.script
+++ b/tests.branching/edit-updates-stratum.script
@@ -26,8 +26,7 @@ cd "$DATADIR/workspace"
"$SRCDIR/scripts/test-morph" branch baserock:morphs newbranch
# Edit chunk.
-"$SRCDIR/scripts/test-morph" edit baserock:hello master
+"$SRCDIR/scripts/test-morph" edit hello-system hello-stratum hello
# See what effect the editing had.
-cd newbranch/baserock:morphs
-git diff
+"$SRCDIR/scripts/run-git-in" "newbranch/baserock:morphs" diff
diff --git a/tests.branching/edit-updates-stratum.stdout b/tests.branching/edit-updates-stratum.stdout
index 01c67858..c29f3a9e 100644
--- a/tests.branching/edit-updates-stratum.stdout
+++ b/tests.branching/edit-updates-stratum.stdout
@@ -24,3 +24,30 @@ index 006a96c..ad8c08b 100644
+ "kind": "stratum",
+ "name": "hello-stratum"
}
+diff --git a/hello-system.morph b/hello-system.morph
+index 8dbcf67..db4f1f2 100644
+--- a/hello-system.morph
++++ b/hello-system.morph
+@@ -1,13 +1,14 @@
+ {
+- "name": "hello-system",
+- "kind": "system",
+- "system-kind": "syslinux-disk",
+- "disk-size": "1G",
++ "build-system": "manual",
++ "disk-size": 1073741824,
++ "kind": "system",
++ "name": "hello-system",
+ "strata": [
+ {
+- "morph": "hello-stratum",
+- "repo": "baserock:morphs",
+- "ref": "master"
++ "morph": "hello-stratum",
++ "ref": "newbranch",
++ "repo": "baserock:morphs"
+ }
+- ]
++ ],
++ "system-kind": "syslinux-disk"
+ }
diff --git a/tests.branching/edit-uses-ref-from-stratum.script b/tests.branching/edit-uses-ref-from-stratum.script
index 0e4eb915..5b1f5137 100755
--- a/tests.branching/edit-uses-ref-from-stratum.script
+++ b/tests.branching/edit-uses-ref-from-stratum.script
@@ -26,7 +26,6 @@ cd "$DATADIR/workspace"
"$SRCDIR/scripts/test-morph" branch baserock:morphs newbranch
# Edit chunk.
-"$SRCDIR/scripts/test-morph" edit baserock:hello
+"$SRCDIR/scripts/test-morph" edit hello-system hello-stratum hello
-cd newbranch/baserock:hello
-git branch
+"$SRCDIR/scripts/run-git-in" "newbranch/baserock:hello" branch
diff --git a/tests.branching/edit-works-after-branch-root-was-renamed.script b/tests.branching/edit-works-after-branch-root-was-renamed.script
index da8fb0b7..191300e6 100755
--- a/tests.branching/edit-works-after-branch-root-was-renamed.script
+++ b/tests.branching/edit-works-after-branch-root-was-renamed.script
@@ -28,7 +28,7 @@ cd "$DATADIR/workspace"
cd "$DATADIR/workspace/master"
mv baserock:morphs my-renamed-morphs
-"$SRCDIR/scripts/test-morph" edit baserock:hello master
+"$SRCDIR/scripts/test-morph" edit hello-system hello-stratum hello
"$SRCDIR/scripts/list-tree" "$DATADIR/workspace" | grep -v '/\.git/' |
sed 's,/cache/gits/file_[^/]*_,/cache/gits/file_,'
diff --git a/tests.branching/merge-explicitly-named-repos.script b/tests.branching/merge-explicitly-named-repos.script
index ad3ef0e6..7dfd5780 100755
--- a/tests.branching/merge-explicitly-named-repos.script
+++ b/tests.branching/merge-explicitly-named-repos.script
@@ -27,7 +27,7 @@ cd "$DATADIR/workspace"
"$SRCDIR/scripts/test-morph" branch baserock:morphs newbranch
# Make a change to a chunk.
-"$SRCDIR/scripts/test-morph" edit baserock:hello master
+"$SRCDIR/scripts/test-morph" edit hello-system hello-stratum hello
cd newbranch/baserock:hello
touch newfile.txt
git add newfile.txt
@@ -37,7 +37,7 @@ git commit -m foo --quiet
cd "$DATADIR/workspace"
"$SRCDIR/scripts/test-morph" branch baserock:morphs otherbranch
cd otherbranch
-"$SRCDIR/scripts/test-morph" edit baserock:hello master
+"$SRCDIR/scripts/test-morph" edit hello-system hello-stratum hello
"$SRCDIR/scripts/test-morph" merge newbranch baserock:hello
# Check results.
diff --git a/tests.branching/morph-repository-stored-in-cloned-repositories.script b/tests.branching/morph-repository-stored-in-cloned-repositories.script
index bfc5499b..5f5efa9e 100755
--- a/tests.branching/morph-repository-stored-in-cloned-repositories.script
+++ b/tests.branching/morph-repository-stored-in-cloned-repositories.script
@@ -40,7 +40,7 @@ git config morph.repository
echo
cd "$DATADIR/workspace/master"
-"$SRCDIR/scripts/test-morph" edit baserock:hello master
+"$SRCDIR/scripts/test-morph" edit hello-system hello-stratum hello
echo "morph.repository of an edited repository:"
cd "$DATADIR/workspace/master/baserock:hello"
diff --git a/tests.branching/setup b/tests.branching/setup
index 477dd00a..6cbd18c6 100755
--- a/tests.branching/setup
+++ b/tests.branching/setup
@@ -68,7 +68,7 @@ cat <<EOF > "$DATADIR/morphs/hello-system.morph"
"strata": [
{
"morph": "hello-stratum",
- "repo": "baserock:hello",
+ "repo": "baserock:morphs",
"ref": "master"
}
]
diff --git a/tests.branching/workflow.script b/tests.branching/workflow.script
index c8ee2187..cb79c3c5 100755
--- a/tests.branching/workflow.script
+++ b/tests.branching/workflow.script
@@ -24,7 +24,7 @@ set -eu
cd "$DATADIR/workspace"
"$SRCDIR/scripts/test-morph" init
"$SRCDIR/scripts/test-morph" branch baserock:morphs me/readme-fix
-"$SRCDIR/scripts/test-morph" edit baserock:hello master
+"$SRCDIR/scripts/test-morph" edit hello-system hello-stratum hello
cd me/readme-fix/baserock:hello
echo > README yoyoyo
git add README
@@ -33,6 +33,6 @@ git commit -m "Fix README, yo!" --quiet
cd "$DATADIR/workspace"
"$SRCDIR/scripts/test-morph" checkout baserock:morphs master
cd master
-"$SRCDIR/scripts/test-morph" edit baserock:hello master
+"$SRCDIR/scripts/test-morph" edit hello-system hello-stratum hello
"$SRCDIR/scripts/test-morph" merge me/readme-fix baserock:hello