Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

added git-remove-submodule command

  • Loading branch information...
commit ebe40dc8eeee77b8617966cb217142c85274751f 1 parent b3dbb6f
@aaronj1335 authored
Showing with 33 additions and 0 deletions.
  1. +33 −0 git-remove-submodule
View
33 git-remove-submodule
@@ -0,0 +1,33 @@
+#!/bin/sh
+#
+# Adam Sharp
+# Aug 21, 2013
+#
+# Usage: Add it to your PATH and `git remove-submodule path/to/submodule`.
+#
+# Does the inverse of `git submodule add`:
+# 1) `deinit` the submodule
+# 2) Remove the submodule from the index and working directory
+# 3) Clean up the .gitmodules file
+#
+
+submodule_name=$(echo "$1" | sed 's/\/$//'); shift
+
+exit_err() {
+ [ $# -gt 0 ] && echo "fatal: $*" 1>&2
+ exit 1
+}
+
+if git submodule status "$submodule_name" >/dev/null 2>&1; then
+ git submodule deinit -f "$submodule_name"
+ git rm -f "$submodule_name"
+
+ git config -f .gitmodules --remove-section "submodule.$submodule_name"
+ if [ -z "$(cat .gitmodules)" ]; then
+ git rm -f .gitmodules
+ else
+ git add .gitmodules
+ fi
+else
+ exit_err "Submodule '$submodule_name' not found"
+fi
Please sign in to comment.
Something went wrong with that request. Please try again.