summaryrefslogtreecommitdiff
path: root/doc/branching-merging-systems.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'doc/branching-merging-systems.mdwn')
-rw-r--r--doc/branching-merging-systems.mdwn32
1 files changed, 31 insertions, 1 deletions
diff --git a/doc/branching-merging-systems.mdwn b/doc/branching-merging-systems.mdwn
index 3bc19aab..c2e24d77 100644
--- a/doc/branching-merging-systems.mdwn
+++ b/doc/branching-merging-systems.mdwn
@@ -129,7 +129,7 @@ Also, clone the `morphs` git repository inside the system branch
directory.
cd ~/baserock/liw/foo/morphs
- edit base-system.morph devel-system.morph
+ morph petrify base-system.morph devel-system.morph
git commit -a
Modify the specified morphologies (or the stratum morphologies they
@@ -225,6 +225,36 @@ it to exist instead.
* Run `git checkout BRANCH` in the `morphs` repository.
+Implementation: `morph petrify`
+--------------
+
+Usage:
+
+ morph petrify [MORPH]...
+ morph petrify --petrify-from-system FILE
+
+This needs to be run in the `morphs` git repository in a system branch.
+
+In the first form:
+
+* read each of the given morphologies; if the morphology is a system one,
+ follow references to stratum morphologies and process those instead
+* in each stratum morphology, replace a reference to a chunk with the
+ absolute SHA-1: if the original reference was, say, `baserock/morph`,
+ get the SHA-1 of the current tip commit in that branch and replace
+ the reference in the morphology
+
+In the second form:
+
+* extract the system and stratum morphologies used in the system image file;
+ these are in a petrified form already
+* copy the morphologies to the current working directory, overwriting the
+ files from git
+
+In either case, the results need to be committed (with normal git commands)
+by the user.
+
+
Implementation: `morph edit`
--------------