diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2014-02-12 14:44:04 -0200 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2014-02-12 14:44:04 -0200 |
commit | 6c547ae0539327c683a9c2ce4e478dc966506dcc (patch) | |
tree | 5aeb5f16267b8911a6a6d30fbb7fbdfc6ec79512 | |
parent | 6b81ba9d352eb9e31d3c9ac2c466076c69a2f836 (diff) | |
download | scripts-6c547ae0539327c683a9c2ce4e478dc966506dcc.tar.gz scripts-6c547ae0539327c683a9c2ce4e478dc966506dcc.tar.bz2 |
Adding git-subtree-update
-rwxr-xr-x | git-subtree-update | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/git-subtree-update b/git-subtree-update new file mode 100755 index 0000000..f0ad28e --- /dev/null +++ b/git-subtree-update @@ -0,0 +1,33 @@ +#!/bin/bash +# +# Update a subtree. +# + +# 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 + # Add a subtree + git subtree add --prefix $FOLDER $REMOTE master --squash +else + # Update a subtree + git subtree pull --prefix $FOLDER $REMOTE master --squash +fi |