diff options
Diffstat (limited to 'rsup')
-rwxr-xr-x | rsup | 36 |
1 files changed, 36 insertions, 0 deletions
@@ -0,0 +1,36 @@ +#!/bin/bash +# +# Recursively commit submodule changes +# +# Usage: +# +# From a submodule folder: +# +# sup <message> # go upwards commit, until there's no parent repository + +# Parameters +DIRNAME="`dirname $0`" +BASENAME="`basename $0`" +MESSAGE="$*" +GIT="hit" + +# Check if it is a git repository +if [ ! -d ".git" ]; then + echo "$BASENAME: not a git repository" + exit 1 +fi + +# Default message +if [ -z "$MESSAGE" ]; then + BASE="$(basename `pwd`)" + MESSAGE="Updates $BASE" +fi + +# Commit +commit $MESSAGE + +# Got up +while -d "../.git"; do + sup + cd .. +done |