summaryrefslogtreecommitdiff
path: root/tests.branching
diff options
context:
space:
mode:
Diffstat (limited to 'tests.branching')
-rwxr-xr-xtests.branching/edit-handles-submodules.script31
-rwxr-xr-xtests.branching/edit-handles-submodules.setup40
2 files changed, 71 insertions, 0 deletions
diff --git a/tests.branching/edit-handles-submodules.script b/tests.branching/edit-handles-submodules.script
new file mode 100755
index 00000000..6e781cbe
--- /dev/null
+++ b/tests.branching/edit-handles-submodules.script
@@ -0,0 +1,31 @@
+#!/bin/sh
+# Copyright (C) 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 edit' should set up git URL rewriting correctly so that submodule
+# commands function as usual, despite our prefixing and mirroring.
+
+set -eu
+
+cd "$DATADIR/workspace"
+"$SRCDIR/scripts/test-morph" init
+"$SRCDIR/scripts/test-morph" branch baserock:morphs newbranch
+
+# Submodules should be set up automatically
+"$SRCDIR/scripts/test-morph" edit hello-system hello-stratum hello
+
+cd "$DATADIR/workspace/newbranch/baserock:hello"
+[ -e foolib/README ]
+
diff --git a/tests.branching/edit-handles-submodules.setup b/tests.branching/edit-handles-submodules.setup
new file mode 100755
index 00000000..1b3f3198
--- /dev/null
+++ b/tests.branching/edit-handles-submodules.setup
@@ -0,0 +1,40 @@
+#!/bin/sh
+# Copyright (C) 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.
+
+set -eu
+
+# Create a dummy submodule
+mkdir "$DATADIR/foolib"
+cd "$DATADIR/foolib"
+
+echo "Thanks" > README
+git init .
+git add README
+git commit -m "Initial commit"
+
+# Use this in hello chunk
+cd "$DATADIR/hello"
+git submodule add "$DATADIR/foolib" foolib/
+git commit -m "Use Foolib submodule"
+
+# Rewrite the URL, as we would do in Trove
+cat <<EOF > "$DATADIR/hello/.gitmodules"
+[submodule "foolib"]
+ path = foolib
+ url = baserock:foolib
+EOF
+git add .gitmodules
+git commit -m "Use Foolib from baserock: prefix"