summaryrefslogtreecommitdiff
path: root/tests.branching/morph-tag-tag-works-as-expected.stdout
diff options
context:
space:
mode:
authorJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-12-05 17:51:47 +0000
committerJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-12-13 14:30:35 +0000
commit51e4bbb4dffde9574404df9c5e947f518dc49a41 (patch)
tree208d2826e88932f2442c44b4268bdda76346206f /tests.branching/morph-tag-tag-works-as-expected.stdout
parentd63c97a0bef1cd2f03ca266acda67cad065632df (diff)
downloadmorph-51e4bbb4dffde9574404df9c5e947f518dc49a41.tar.gz
Add an initial implementation of "morph tag"
In order to make releases and freeze system branches entirely, we need to be able to 100% petrify a system branch (that is, resolve ALL refs into SHA1s) and tag this state to be able to check it out again later. This is essentially what "morph tag" does. It takes a tag name and an arbitrary amount of arguments to "git tag", petrifies all morphologies of the current system branch behind the scenes, creates a dangling commit and attaches an annotated tag to it. Petrifying in this case means that all refs used for chunks are resolved into commit SHA1s. For stratum and system morphologies, the refs are replaced by the name of the tag that's being created. The "tag" command also supports tagging when stratum morphologies are spread across multiple repositories. In this case, it will include all statum morphologies from other repos in the tag commi in the branch root repo. The references to these morphologies are updated so that they point to the branch root repo and the tag being created. This commit also adds a few tests for "morph tag" to verify that all this works.
Diffstat (limited to 'tests.branching/morph-tag-tag-works-as-expected.stdout')
-rw-r--r--tests.branching/morph-tag-tag-works-as-expected.stdout58
1 files changed, 58 insertions, 0 deletions
diff --git a/tests.branching/morph-tag-tag-works-as-expected.stdout b/tests.branching/morph-tag-tag-works-as-expected.stdout
new file mode 100644
index 00000000..58d77714
--- /dev/null
+++ b/tests.branching/morph-tag-tag-works-as-expected.stdout
@@ -0,0 +1,58 @@
+test:morphs
+example-tag
+tagged-tag
+test:morphs
+tag tagged-tag
+Tagger: developer <developer@example.com>
+Date: Tue Jul 31 16:51:54 2012 +0000
+
+Second
+
+commit f7f04d63ec5e494cf5b4fd2e94ad5f2f26265c3f
+Author: developer <developer@example.com>
+Date: Tue Jul 31 16:51:54 2012 +0000
+
+ Second
+
+diff --git a/hello-stratum.morph b/hello-stratum.morph
+index 3b7be17..87561c1 100644
+--- a/hello-stratum.morph
++++ b/hello-stratum.morph
+@@ -5,8 +5,9 @@
+ {
+ "name": "hello",
+ "repo": "test:hello",
+- "ref": "master",
+- "build-depends": []
++ "ref": "f4d032b42c0134e67bdf19a43fa99072493667d7",
++ "build-depends": [],
++ "unpetrify-ref": "master"
+ }
+ ]
+ }
+diff --git a/hello-system.morph b/hello-system.morph
+index f3f64b4..2981e9b 100644
+--- a/hello-system.morph
++++ b/hello-system.morph
+@@ -8,7 +8,8 @@
+ {
+ "morph": "hello-stratum",
+ "repo": "test:morphs",
+- "ref": "master"
++ "ref": "tagged-tag",
++ "unpetrify-ref": "master"
+ }
+ ]
+ }
+test:morphs
+commit f7f04d63ec5e494cf5b4fd2e94ad5f2f26265c3f
+Author: developer <developer@example.com>
+Date: Tue Jul 31 16:51:54 2012 +0000
+
+ Second
+
+commit 48d38ef3f39857d7dba4ed1ffc51653c6bed4906
+Author: developer <developer@example.com>
+Date: Tue Jul 31 16:51:54 2012 +0000
+
+ initial