diff options
| author | emmett1 <emmett1.2miligrams@protonmail.com> | 2025-09-09 01:03:35 +0800 |
|---|---|---|
| committer | emmett1 <emmett1.2miligrams@protonmail.com> | 2025-09-09 01:03:35 +0800 |
| commit | d1304e447af44d2a455125866b9ffd838909416a (patch) | |
| tree | 63975ddf3df60ab157d73b372d21478e112eab32 /repos/archive/ports/git | |
| parent | 2d6badaa615d7f1aaf807ac469d8a38fe2d16670 (diff) | |
| download | alicelinux-d1304e447af44d2a455125866b9ffd838909416a.tar.gz alicelinux-d1304e447af44d2a455125866b9ffd838909416a.zip | |
archived
Diffstat (limited to 'repos/archive/ports/git')
| -rw-r--r-- | repos/archive/ports/git | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/repos/archive/ports/git b/repos/archive/ports/git new file mode 100644 index 00000000..654a8c77 --- /dev/null +++ b/repos/archive/ports/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" |