From 8efdf1a6dde51c57d3de8d0b6ff8a167d5a921fe Mon Sep 17 00:00:00 2001 From: jk Date: Tue, 28 Aug 2018 21:13:40 -0500 Subject: [PATCH] Add update ability for -current repo --- src/usr/sbin/sbopkg | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/usr/sbin/sbopkg b/src/usr/sbin/sbopkg index e534538..6c2e964 100755 --- a/src/usr/sbin/sbopkg +++ b/src/usr/sbin/sbopkg @@ -2432,6 +2432,23 @@ rsync_command() { rm -f $SYNC_LOCK } +current_check_updates() { + # This function checks for updates if repository is set to -current. + + local URL BRANCH REMOTE LOCAL + + eval $(sed 's/^\(.*\)@\(.*\)$/URL=\1; BRANCH=\2/g' <<< $REPO_LINK) + + cd $REPO_DIR + REMOTE=$(git ls-remote $URL $BRANCH | cut -f 1) + LOCAL=$(git rev-parse HEAD) + # If the remote has changed, wipe the local version + if [[ $REMOTE != $LOCAL ]]; then + cd .. + rm -fR $REPO_DIR + fi +} + git_command() { # This function synchronizes a local git repository with upstream. @@ -2441,6 +2458,10 @@ git_command() { eval $(sed 's/^\(.*\)@\(.*\)$/URL=\1; BRANCH=\2/g' <<< $REPO_LINK) CWD=$(pwd) + # If -CURRENT, handle correctly + if [[ $REPO_BRANCH == "current" ]]; then + current_check_updates + fi # Create the repository if needed if [[ ! -d $REPO_DIR/.git ]]; then mkdir -p $REPO_DIR