diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2014-09-18 16:36:24 -0300 |
---|---|---|
committer | Silvio Rhatto <user@example.org> | 2014-09-18 16:36:24 -0300 |
commit | 58ed624130253579365967fdc968bfc1d37279fb (patch) | |
tree | 561306cf85a85ba7712f46161ef13750be5af094 /git-subtree-push | |
download | git-subtree-58ed624130253579365967fdc968bfc1d37279fb.tar.gz git-subtree-58ed624130253579365967fdc968bfc1d37279fb.tar.bz2 |
Initial import
Diffstat (limited to 'git-subtree-push')
-rwxr-xr-x | git-subtree-push | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/git-subtree-push b/git-subtree-push new file mode 100755 index 0000000..41ffe25 --- /dev/null +++ b/git-subtree-push @@ -0,0 +1,33 @@ +#!/bin/bash +# +# Push changes in a subtree to a remote. +# + +# Parameters +BASENAME="`basename $0`" +REMOTE="$1" +FOLDER="$2" + +# Syntax +if [ -z "$2" ]; then + echo "usage: $BASENAME <gitremote> <folder>" + exit 1 +fi + +# Check remote +if ! git remote | grep -qe "^$REMOTE"; then + echo "fatal: no such remote $REMOTE" + exit +fi + +# Fetch the remote +git fetch $REMOTE master + +# Process +if [ ! -d "$FOLDER" ]; then + echo "fatal: folder $FOLDER does not exist" + exit 1 +else + # Update a subtree + git subtree push --prefix=$FOLDER $REMOTE master +fi |