--- /dev/null
+#!/bin/bash
+#
+# Put the .git submodule folder back to the right place.
+#
+# When initializing a git submodule, git usually puts the
+# submodules' .git folder inside the .git/modules folder
+# in the parent repository.
+#
+# While this keeps all submodule metadata in a single place,
+# it may not be confortable when you also want to develop
+# the submodule.
+#
+# This plugin simply moves the submodules' git folder back
+# to the standard place.
+
+# Parameters
+BASENAME="`basename $0`"
+MODULE="$1"
+
+# Checks
+if [ -z "$MODULE" ]; then
+ echo "usage: $BASENAME <submodule-path>"
+ exit 1
+elif [ ! -d "$MODULE" ]; then
+ echo "module not found: $MODULE"
+ exit 1
+elif [ -d "$MODULE/.git" ]; then
+ echo "module $MODULE already converted"
+ exit 1
+elif [ ! -d ".git" ]; then
+ echo "please run this command in the top-level repository folder"
+ exit 1
+fi
+
+# Additional parameters
+REPO_DIR="`pwd`"
+MODULE_DIR="`cd $MODULE &> /dev/null && pwd`"
+RELATIVE_REPO_DIR="$(echo $MODULE_DIR | sed -e "s|^$REPO_DIR/||")"
+
+# Convert
+rm $MODULE/.git
+mv ".git/modules/$RELATIVE_REPO_DIR" "$MODULE/.git"
+sed -i -e '/worktree =/d' "$MODULE/.git/config"