diff --git a/README.md b/README.md index ce6bdab..e3d332e 100644 --- a/README.md +++ b/README.md @@ -28,5 +28,5 @@ BASE_BRANCH="main" # optional: fixed date or a filename prefixed with @ to get a stable date for testing DATE="@token" # optional: an OBS project with a list of packages -RING0API="https://api.opensuse.org/public/source/openSUSE:Factory:Rings:0-Bootstrap" +OBSPKGLIST="https://api.opensuse.org/public/source/openSUSE:Factory:Rings:0-Bootstrap" ``` diff --git a/pusher b/pusher index 57809be..c8c9325 100755 --- a/pusher +++ b/pusher @@ -108,6 +108,7 @@ log_info "to push: ${!pq[*]}" log_info "remote: ${!rq[*]}" if [ -n "$show_status" ]; then + echo "# local remote pr package" if [ "${#modules[@]}" -eq 0 ]; then for m in "${!pq[@]}" "${!rq[@]}" "${!pr[@]}"; do modules["$m"]=1 diff --git a/updatemodules b/updatemodules index adf0085..70eca6d 100755 --- a/updatemodules +++ b/updatemodules @@ -8,7 +8,7 @@ BASE_BRANCH="main" PACKAGE_BASE_URL= PACKAGE_RELATIVE_URL="../../rpm" # https://api.opensuse.org/public/source/openSUSE:Factory:Rings:0-Bootstrap -RING0API= +OBSPKGLIST= DATE="$(date "+%s %z")" keep["dummy-release"]=1 @@ -22,7 +22,7 @@ cfg_file= # constant needed to aid quoting nl=$'\n' -declare -A ring0 +declare -A obs declare -A new declare -A drop declare -A revs @@ -135,14 +135,14 @@ while read -r m t cid p; do revs["$p"]="$cid" done < <(git cat-file -p "$REMOTE/$BASE_BRANCH^{tree}") -if [ -n "$RING0API" ]; then +if [ -n "$OBSPKGLIST" ]; then while read -r p; do - ring0["$p"]=1 + obs["$p"]=1 [ -n "${revs[$p]}" ] || new["$p"]=1 - done < <(curl -s -f "$RING0API"|sed -ne 's/.*entry name="\([^":]*\).*\/>/\1/p'|sort -u | grep -v AGGR) + done < <(curl -s -f "$OBSPKGLIST"|sed -ne 's/.*entry name="\([^":]*\).*\/>/\1/p'|sort -u | grep -v AGGR) for m in "${!revs[@]}"; do - [ -n "${ring0[$m]}" -o -n "${keep[$m]}" ] || drop["$m"]=1 + [ -n "${obs[$m]}" -o -n "${keep[$m]}" ] || drop["$m"]=1 done fi @@ -212,6 +212,7 @@ for m in "${modules[@]}"; do gitmodules_rev="$nh" fi treetext="$newtreetext" + # fall through else newtree=$(echo "$newtreetext" | git mktree) msg="Update $m" @@ -220,8 +221,11 @@ for m in "${modules[@]}"; do newcid="$(git commit-tree -p "$REMOTE/$BASE_BRANCH" -m "$msg" "$newtree")" commits["$m"]="$newcid" cat "$tmpfile2" > "$tmpfile" + continue fi - elif [ -n "${pq[refs/pq/$m]}" ]; then + # fall through + fi + if [ -n "${pq[refs/pq/$m]}" ]; then log_info "remove pq for $m" git update-ref -d "refs/pq/$m" fi @@ -231,6 +235,9 @@ if [ "$single" = 1 ]; then newtree="$(echo "$treetext" | git mktree)" newcid="$(git commit-tree -p "$REMOTE/$BASE_BRANCH" -m "Update all" "$newtree")" commits["all"]="$newcid" +elif [ -n "${pq[refs/pq/all]}" ]; then + log_info "remove pq for single commit" + git update-ref -d "refs/pq/all" fi for m in "${!commits[@]}"; do