diff --git a/src/usr/sbin/sbopkg b/src/usr/sbin/sbopkg index e534538..886baf4 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,12 @@ git_command() { eval $(sed 's/^\(.*\)@\(.*\)$/URL=\1; BRANCH=\2/g' <<< $REPO_LINK) CWD=$(pwd) + # If -CURRENT, handle correctly + if [[ $REPO_NAME == "SBo-git" ]]; then + if [[ $REPO_BRANCH == "current" ]]; then + current_check_updates + fi + fi # Create the repository if needed if [[ ! -d $REPO_DIR/.git ]]; then mkdir -p $REPO_DIR diff --git a/tools/ChangeLog-latest.txt b/tools/ChangeLog-latest.txt index d861d83..65f27b5 100644 --- a/tools/ChangeLog-latest.txt +++ b/tools/ChangeLog-latest.txt @@ -1,6 +1,6 @@ SBOPKG NEWS -sbopkg-dev (2018-08-20 00:09:56 UTC) +sbopkg-dev (2018-09-01 23:00:08 UTC) FEATURES * sqg: Parallelize building of single and all packages by option -j. Patch by Marcel Saegebarth. @@ -46,6 +46,8 @@ sbopkg-dev (2018-08-20 00:09:56 UTC) Patch by orbea (#42) * Increase timeout on update detection (#43) * sqg: Check for invalid .info files before processing. + * Support update ability for -current repo + Patch by JK Wood, reviewed by Matteo Bernardini (51) sbopkg 0.38.1 (2016-09-01 13:42 UTC) FEATURES