diff options
author | Silvino Silva <silvino@bk.ru> | 2018-02-25 17:33:12 +0000 |
---|---|---|
committer | Silvino Silva <silvino@bk.ru> | 2018-02-25 17:33:12 +0000 |
commit | ef1f1f61daaf59d3e07d41ddd0ea713834f35e38 (patch) | |
tree | 5a34c6b419adc87a7887db8d2e6d25119e5434c3 /core/conf/ports/drivers/git | |
parent | 080558ffff535c438d6244ff17a5d106622c754e (diff) | |
download | doc-ef1f1f61daaf59d3e07d41ddd0ea713834f35e38.tar.gz |
core install revision
Diffstat (limited to 'core/conf/ports/drivers/git')
-rwxr-xr-x | core/conf/ports/drivers/git | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/core/conf/ports/drivers/git b/core/conf/ports/drivers/git new file mode 100755 index 0000000..654a8c7 --- /dev/null +++ b/core/conf/ports/drivers/git @@ -0,0 +1,47 @@ +#!/bin/sh +# +# /etc/ports/drivers/git: git driver script for ports(8) +# + +if [ $# -ne 1 ]; then + echo "usage: $0 <file>" >&2 + exit 1 +fi + +. $1 + +if [ -z "$URL" ]; then + echo "URL not set in '$1'" >&2 + exit 2 +fi +if [ -z "$NAME" ]; then + echo "NAME not set in '$1'" >&2 + exit 2 +fi +if [ -z "$BRANCH" ]; then + echo "BRANCH not set in '$1'" >&2 + exit 2 +fi + +REPOSITORY="$PORTS_DIR/$NAME" +if [ -n "$LOCAL_REPOSITORY" ]; then + REPOSITORY="$LOCAL_REPOSITORY" +fi + +echo "Fetching updates from $URL" +echo "Updating collection $NAME" + +cd "$REPOSITORY" 2> "/dev/null" + +if [ $? -lt 1 ]; then + git checkout -q "$BRANCH" + git fetch -q + git diff --pretty=format: --name-status "$BRANCH" origin/"$BRANCH" | sed "s/M\t/ Edit /g; s/A\t/ Checkout /g; s/D\t/ Delete /g" | sort + git clean -q -f + git reset -q --hard origin/"$BRANCH" +else + git clone -q -b "$BRANCH" "$URL" "$REPOSITORY" + ls -1 $REPOSITORY | sed "s/^/ Checkout /" +fi + +echo "Finished successfully" |