summaryrefslogtreecommitdiff
path: root/tests.branching
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2012-10-12 17:16:35 +0100
committerSam Thursfield <sam.thursfield@codethink.co.uk>2012-10-12 17:27:09 +0100
commit8d4073d89ca66b2334e0e7d9fb08f6c73875ff7e (patch)
tree69efe75663b1d7f2ed8e9680295db15dfcbf26aa /tests.branching
parenta6bc2829211ceda1f07386d381e67a983fbb063b (diff)
downloadmorph-8d4073d89ca66b2334e0e7d9fb08f6c73875ff7e.tar.gz
morph status: Add initial version of command
This provides a user-friendly summary of the workspace or branch status.
Diffstat (limited to 'tests.branching')
-rwxr-xr-xtests.branching/status-in-clean-branch.script26
-rw-r--r--tests.branching/status-in-clean-branch.stdout3
-rwxr-xr-xtests.branching/status-in-dirty-branch.script39
-rw-r--r--tests.branching/status-in-dirty-branch.stdout5
-rwxr-xr-xtests.branching/status-in-workspace.script29
-rw-r--r--tests.branching/status-in-workspace.stdout4
6 files changed, 106 insertions, 0 deletions
diff --git a/tests.branching/status-in-clean-branch.script b/tests.branching/status-in-clean-branch.script
new file mode 100755
index 00000000..c102d287
--- /dev/null
+++ b/tests.branching/status-in-clean-branch.script
@@ -0,0 +1,26 @@
+#!/bin/sh
+# Copyright (C) 2011, 2012 Codethink Limited
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+
+# 'morph status' within a branch
+
+set -eu
+
+cd "$DATADIR/workspace"
+"$SRCDIR/scripts/test-morph" init .
+"$SRCDIR/scripts/test-morph" branch baserock:morphs test
+
+"$SRCDIR/scripts/test-morph" status
diff --git a/tests.branching/status-in-clean-branch.stdout b/tests.branching/status-in-clean-branch.stdout
new file mode 100644
index 00000000..d8468519
--- /dev/null
+++ b/tests.branching/status-in-clean-branch.stdout
@@ -0,0 +1,3 @@
+On branch test, root baserock:morphs
+
+No repos have outstanding changes.
diff --git a/tests.branching/status-in-dirty-branch.script b/tests.branching/status-in-dirty-branch.script
new file mode 100755
index 00000000..36ed781d
--- /dev/null
+++ b/tests.branching/status-in-dirty-branch.script
@@ -0,0 +1,39 @@
+#!/bin/sh
+# Copyright (C) 2011, 2012 Codethink Limited
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+
+# 'morph status' within a branch
+
+set -eu
+
+. "$SRCDIR/tests.branching/setup-3rd-party-strata"
+
+cd "$DATADIR/workspace"
+"$SRCDIR/scripts/test-morph" branch baserock:morphs test
+
+# Make the branch have some interesting changes and pitfalls
+cd test
+"$SRCDIR/scripts/test-morph" edit hello-system stratum2 hello
+
+cd baserock:stratum2-hello
+git checkout -q master
+
+cd ..
+mkdir red-herring
+cd red-herring
+git init -q .
+
+"$SRCDIR/scripts/test-morph" status
diff --git a/tests.branching/status-in-dirty-branch.stdout b/tests.branching/status-in-dirty-branch.stdout
new file mode 100644
index 00000000..a81aa765
--- /dev/null
+++ b/tests.branching/status-in-dirty-branch.stdout
@@ -0,0 +1,5 @@
+On branch test, root baserock:morphs
+ baserock:morphs: uncommitted changes
+ baserock:external-strata: uncommitted changes
+ baserock:stratum2-hello: unexpected ref checked out "master"
+ TMP/workspace/test/red-herring: not part of system branch
diff --git a/tests.branching/status-in-workspace.script b/tests.branching/status-in-workspace.script
new file mode 100755
index 00000000..5e13b433
--- /dev/null
+++ b/tests.branching/status-in-workspace.script
@@ -0,0 +1,29 @@
+#!/bin/sh
+# Copyright (C) 2011, 2012 Codethink Limited
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+
+# 'morph status' within a workspace
+
+set -eu
+
+cd "$DATADIR/workspace"
+"$SRCDIR/scripts/test-morph" init .
+"$SRCDIR/scripts/test-morph" checkout baserock:morphs master
+"$SRCDIR/scripts/test-morph" branch baserock:morphs a/b/c/d/e/foo
+"$SRCDIR/scripts/test-morph" branch baserock:morphs a/b/c/d/e/bar
+mkdir a/b/c/red-herring
+
+"$SRCDIR/scripts/test-morph" status
diff --git a/tests.branching/status-in-workspace.stdout b/tests.branching/status-in-workspace.stdout
new file mode 100644
index 00000000..8d34a8a6
--- /dev/null
+++ b/tests.branching/status-in-workspace.stdout
@@ -0,0 +1,4 @@
+System branches in current workspace:
+ master
+ a/b/c/d/e/bar
+ a/b/c/d/e/foo