VirtualBox

Changeset 85586 in vbox


Ignore:
Timestamp:
Jul 31, 2020 4:53:31 PM (5 years ago)
Author:
vboxsync
Message:

Forward ported 139660 from 6.1: backport-commit.sh: Try guess the revisions being backported from svn:mergeinfo if none given.

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:mergeinfo
      •  

        old new  
        1010/branches/VBox-5.2:119536,120083,120099,120213,120221,120239,123597-123598,123600-123601,123755,124260,124263,124271,124273,124277-124279,124284-124286,124288-124290,125768,125779-125780,125812
        1111/branches/VBox-6.0:130474-130475,130477,130479,131352
         12/branches/VBox-6.1:139660
        1213/branches/aeichner/vbox-chromium-cleanup:129816,129818-129851,129853-129861,129871-129872,129876,129880,129882,130013-130015,130036,130094-130095
        1314/branches/andy/draganddrop:90781-91268
  • trunk/tools/bin/backport-commit.sh

    r84269 r85586  
    3333MY_SCRIPT_NAME="backport-commit.sh"
    3434. "${MY_SCRIPT_DIR}/backport-common.sh"
     35
     36#
     37# If no revisions was given, try figure it out from the svn:merge-info
     38# property.
     39#
     40if test -z "${MY_REVISIONS}"; then
     41    MY_REV_TMP=backport-revisions.tmp
     42    if ! svn di --properties-only --depth empty "${MY_BRANCH_DIR}" > "${MY_REV_TMP}"; then
     43        echo "error: failed to get revisions from svn:mergeinfo (svn)"
     44        exit 1;
     45    fi
     46    for MY_REV in $("${MY_SED}" -e '/ *Merged \//!d' -e "s/^ [^:]*:[r]*//" -e 's/,[r]*/ /g' "${MY_REV_TMP}");
     47    do
     48        case "${MY_REV}" in
     49            [0-9][0-9][0-9][0-9][0-9]|[0-9][0-9][0-9][0-9][0-9][0-9]|[0-9][0-9][0-9][0-9][0-9][0-9][0-9])
     50                AddRevision "${MY_REV}"
     51                ;;
     52            [0-9][0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9]|[0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9]|[0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9])
     53                MY_REV_FIRST=${MY_REV%-*}
     54                MY_REV_LAST=${MY_REV#*-}
     55                if test -z "${MY_REV_FIRST}" -o -z "${MY_REV_LAST}" -o '(' '!' "${MY_REV_FIRST}" -lt "${MY_REV_LAST}" ')'; then
     56                    echo "error: failed to get revisions from svn:mergeinfo - MY_REV_FIRST=${MY_REV_FIRST} MY_REV_LAST=${MY_REV_LAST} MY_REV=${MY_REV}"
     57                    exit 1
     58                fi
     59                MY_REV=${MY_REV_FIRST}
     60                while test ${MY_REV} -le ${MY_REV_LAST};
     61                do
     62                    AddRevision "${MY_REV}"
     63                    MY_REV=$(${MY_EXPR} ${MY_REV} + 1)
     64                done
     65                ;;
     66
     67            *)  echo "error: failed to get revisions from svn:mergeinfo - does not grok: ${MY_ARG}"
     68                exit 1;;
     69        esac
     70    done
     71    "${MY_RM}" -f -- "${MY_REV_TMP}"
     72    if test -z "${MY_REVISIONS}"; then
     73        echo "error: No backported revisions found";
     74        exit 1;
     75    fi
     76    echo "info: Detected revisions: ${MY_REVISIONS}"
     77fi
    3578
    3679#
  • trunk/tools/bin/backport-common.sh

    r84269 r85586  
    4949}
    5050
     51AddRevision()
     52{
     53    if test -z "${MY_REVISIONS}"; then
     54        MY_REVISIONS=$1
     55        MY_REVISION_COUNT=1
     56    else
     57        MY_REVISIONS="${MY_REVISIONS} $1"
     58        MY_REVISION_COUNT=$(${MY_EXPR} ${MY_REVISION_COUNT} + 1)
     59    fi
     60}
    5161
    5262#
     
    8191    shift
    8292    case "${ARG}" in
    83         r[0-9][0-9]*)
     93        r[0-9][0-9][0-9][0-9][0-9]|r[0-9][0-9][0-9][0-9][0-9][0-9]|r[0-9][0-9][0-9][0-9][0-9][0-9][0-9])
    8494            MY_REV=`echo ${ARG} | "${MY_SED}" -e 's/^r//'`
    85             if test -z "${MY_REVISIONS}"; then
    86                 MY_REVISIONS=${MY_REV}
    87             else
    88                 MY_REVISIONS="${MY_REVISIONS} ${MY_REV}"
    89             fi
    90             MY_REVISION_COUNT=`${MY_EXPR} ${MY_REVISION_COUNT} + 1`
    91             ;;
    92 
    93         [0-9][0-9]*)
    94             if test -z "${MY_REVISIONS}"; then
    95                 MY_REVISIONS=${ARG}
    96             else
    97                 MY_REVISIONS="${MY_REVISIONS} ${ARG}"
    98             fi
    99             MY_REVISION_COUNT=`${MY_EXPR} ${MY_REVISION_COUNT} + 1`
     95            AddRevision ${MY_REV}
     96            ;;
     97
     98        [0-9][0-9][0-9][0-9][0-9]|[0-9][0-9][0-9][0-9][0-9][0-9]|[0-9][0-9][0-9][0-9][0-9][0-9][0-9])
     99            AddRevision ${MY_ARG}
    100100            ;;
    101101
     
    225225# Stop if no revisions specified.
    226226#
    227 if test -z "${MY_REVISIONS}"; then
     227if test -z "${MY_REVISIONS}" -a "${MY_SCRIPT_NAME}" '!=' "backport-commit.sh"; then
    228228    echo "error: No revisions specified" 1>&2;
    229229    exit 2;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette