${PRINT_USAGE:-:} <<EOF
    pr                Generates URLs for creating PRs. Only generates PR URLs for modules with committed
                        changes. Make sure to push first. Use test to push an unchanged control-repo
                        branch to enable testing.
EOF

# Prints URLs needed to create the PRs for changes.
command_pr() {
    valid_env_name $context || error "No PRs on protected branches please!"
    echo "Use the following URLs to open PRs. Only changed modules will display here."
    local group=$context
    for mod in $(mods_in_group $group) ; do
        pushd $workspace/$mod || error "unable to cd to mod dir $workspace/$mod?"
        local defb=$(default_branch_name $mod)
        local hash1=$(git rev-parse $group)
        local hash2=$(git rev-parse $defb)
        debug "  $FUNCNAME hash1 $hash1 hash2 $hash2 on_remote: $(git ls-remote 2>/dev/null |grep refs/heads/$group)"
        git ls-remote 2>/dev/null|grep "refs/heads/$group" >/dev/null 2>&1 || continue
        [[ "$hash1" != "$hash2" ]] && echo "https://git.xarth.tv/video-puppet/${mod}/pull/new/${group}"
        popd
    done
}
return 0
