summaryrefslogtreecommitdiffstats
path: root/vendor/gix-submodule/tests/fixtures/basic.sh
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gix-submodule/tests/fixtures/basic.sh')
-rwxr-xr-xvendor/gix-submodule/tests/fixtures/basic.sh48
1 files changed, 48 insertions, 0 deletions
diff --git a/vendor/gix-submodule/tests/fixtures/basic.sh b/vendor/gix-submodule/tests/fixtures/basic.sh
new file mode 100755
index 000000000..203e6afde
--- /dev/null
+++ b/vendor/gix-submodule/tests/fixtures/basic.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+set -eu -o pipefail
+
+set -x
+git init
+touch empty && git add empty
+git commit -m upstream
+git clone . super
+git clone super multiple
+(cd multiple
+ git submodule add ../multiple submodule
+ git submodule add ../multiple a/b
+ git submodule add --name .a/..c ../multiple a\\c
+ git submodule add --name a/d\\ ../multiple a/d\\
+ git submodule add --name a\\e ../multiple a/e/
+ git commit -m "subsubmodule-a"
+)
+
+(cd super
+ git submodule add ../multiple submodule
+ git commit -m "submodule"
+)
+git clone super super-clone
+(cd super-clone
+ git submodule update --init --recursive
+)
+git clone super empty-clone
+(cd empty-clone
+ git submodule init
+)
+git clone super top-only-clone
+git clone super relative-clone
+(cd relative-clone
+ git submodule update --init --recursive
+)
+git clone super recursive-clone
+(cd recursive-clone
+ git submodule update --init --recursive
+)
+
+git clone super not-a-submodule
+(cd not-a-submodule
+ cp .gitmodules modules.bak
+ git rm submodule
+ echo fake > submodule
+ mv modules.bak .gitmodules
+ git add submodule && git commit -m "no submodule in index and commit, but in configuration"
+)