Index: /trunk/tools/bin/backport-commit.sh
===================================================================
--- /trunk/tools/bin/backport-commit.sh	(revision 83677)
+++ /trunk/tools/bin/backport-commit.sh	(revision 83678)
@@ -118,5 +118,5 @@
                 exit 0
             fi
-            echo "error: commit failed" >2
+            echo "error: commit failed" 1>&2
             exit 1
             ;;
Index: /trunk/tools/bin/backport-common.sh
===================================================================
--- /trunk/tools/bin/backport-common.sh	(revision 83677)
+++ /trunk/tools/bin/backport-common.sh	(revision 83678)
@@ -26,6 +26,33 @@
    MY_SED=kmk_sed
 
+#
+# Functions.
+#
+BranchDirToName()
+{
+    MY_DIR=$1
+    MY_NAME=`echo "${MY_DIR}" | "${MY_SED}" -e 's|^\(.*\)/\([^/][^/]*\)$|\2|'`
+    case "${MY_NAME}" in
+        VBox-[5-9].[0-3]|VBox-1[0-5].[0-3])
+            echo "${MY_NAME}" | "${MY_SED}" -e 's/VBox-//'
+            ;;
+        [Vv][Bb][Oo][Xx][5-9][0-3])
+            echo "${MY_NAME}" | "${MY_SED}" -e 's/[Vv][Bb][Oo][Xx]\([0-9]\)\([0-3]\)/\1.\2/'
+            ;;
+        [Tt][Rr][Uu][Nn][Kk])
+            echo trunk
+            ;;
+        *)
+            echo "warning: Unable to guess branch given ${MY_NAME} ($1)" 1>&2
+            ;;
+    esac
+}
+
+
+#
+# Figure default branch given the script location.
+#
 MY_BRANCH_DEFAULT_DIR=`cd "${MY_SCRIPT_DIR}"; cd ../..; pwd -L`
-MY_BRANCH_DEFAULT=`echo "${MY_BRANCH_DEFAULT_DIR}" | "${MY_SED}" -e 's|^\(.*\)/\([^/][^/]*\)$|\2|' -e 's/VBox-//'`
+MY_BRANCH_DEFAULT=`BranchDirToName "${MY_BRANCH_DEFAULT_DIR}"`
 if test "${MY_BRANCH_DEFAULT}" = "trunk"; then
     MY_TRUNK_DIR=${MY_BRANCH_DEFAULT_DIR}
@@ -35,4 +62,5 @@
     MY_TRUNK_DIR="^/trunk"
 fi
+
 
 #
@@ -53,10 +81,18 @@
         r[0-9][0-9]*)
             MY_REV=`echo ${ARG} | "${MY_SED}" -e 's/^r//'`
-            MY_REVISIONS="${MY_REVISIONS} ${MY_REV}"
+            if test -z "${MY_REVISIONS}"; then
+                MY_REVISIONS=${MY_REV}
+            else
+                MY_REVISIONS="${MY_REVISIONS} ${MY_REV}"
+            fi
             MY_REVISION_COUNT=`${MY_EXPR} ${MY_REVISION_COUNT} + 1`
             ;;
 
         [0-9][0-9]*)
-            MY_REVISIONS="${MY_REVISIONS} ${ARG}"
+            if test -z "${MY_REVISIONS}"; then
+                MY_REVISIONS=${ARG}
+            else
+                MY_REVISIONS="${MY_REVISIONS} ${ARG}"
+            fi
             MY_REVISION_COUNT=`${MY_EXPR} ${MY_REVISION_COUNT} + 1`
             ;;
@@ -67,5 +103,5 @@
                 exit 1;
             fi
-            MY_TRUNK_DIR=`echo "$1" | "${SED}" -e 's|\\\|/|g'`
+            MY_TRUNK_DIR=`echo "$1" | "${MY_SED}" -e 's|\\\|/|g'`
             shift
             ;;
@@ -76,5 +112,5 @@
                 exit 1;
             fi
-            MY_BRANCH_DIR=`echo "$1" | "${SED}" -e 's|\\\|/|g'`
+            MY_BRANCH_DIR=`echo "$1" | "${MY_SED}" -e 's|\\\|/|g'`
             shift
             ;;
@@ -128,4 +164,6 @@
 if test -n "${MY_DEBUG}"; then
     echo "        MY_SCRIPT_DIR=${MY_SCRIPT_DIR}"
+    echo "        MY_BRANCH_DIR=${MY_BRANCH_DIR}"
+    echo "            MY_BRANCH=${MY_BRANCH}"
     echo "MY_BRANCH_DEFAULT_DIR=${MY_BRANCH_DEFAULT_DIR}"
     echo "    MY_BRANCH_DEFAULT=${MY_BRANCH_DEFAULT}"
@@ -143,13 +181,13 @@
     MY_BRANCH_DIR=${MY_BRANCH_DEFAULT_DIR}
 elif test -z "${MY_BRANCH}" -a -n "${MY_BRANCH_DIR}"; then
-    MY_BRANCH=`echo "${MY_BRANCH_DIR}" | "${SED}" -e 's/^-([1]*[5-9]\.[0-5])[/]*$/\1/'`
+    MY_BRANCH=`BranchDirToName "${MY_BRANCH_DIR}"`
     if test -z "${MY_BRANCH}" -o  "${MY_BRANCH}" = "${MY_BRANCH_DIR}"; then
-        echo "error: Failed to guess branch name for: ${MY_BRANCH_DIR}" >2
-        echo "       Use --branch to specify it." >2
+        echo "error: Failed to guess branch name for: ${MY_BRANCH_DIR}" 1>&2
+        echo "       Use --branch to specify it." 1>&2
         exit 2;
     fi
 fi
 if test "${MY_BRANCH}" = "trunk"; then
-    echo "error: script does not work with 'trunk' as the branch" >2
+    echo "error: script does not work with 'trunk' as the branch" 1>&2
     exit 2;
 fi
@@ -159,5 +197,5 @@
 #
 if test -z "${MY_REVISIONS}"; then
-    echo "error: No revisions specified" >&2;
+    echo "error: No revisions specified" 1>&2;
     exit 2;
 fi
Index: /trunk/tools/bin/backport-merge.sh
===================================================================
--- /trunk/tools/bin/backport-merge.sh	(revision 83677)
+++ /trunk/tools/bin/backport-merge.sh	(revision 83678)
@@ -51,5 +51,9 @@
             MY_CONFLICTS=`"${MY_SVN}" status "${MY_BRANCH_DIR}" | "${MY_SED}" -n -e '/^C/p'`
             if test -z "${MY_CONFLICTS}"; then
-                MY_DONE_REVS="${MY_DONE_REVS} ${MY_REV}"
+                if test -z "${MY_DONE_REVS}"; then
+                    MY_DONE_REVS=${MY_REV}
+                else
+                    MY_DONE_REVS="${MY_DONE_REVS} ${MY_REV}"
+                fi
             else
                 echo '!!!'" Have conflicts after merging ${MY_REV}."
@@ -61,5 +65,9 @@
         fi
     else
-        MY_TODO_REVS="${MY_TODO_REVS} ${MY_REV}"
+        if test -z "${MY_TODO_REVS}"; then
+            MY_TODO_REVS=${MY_REV}
+        else
+            MY_TODO_REVS="${MY_TODO_REVS} ${MY_REV}"
+        fi
     fi
 done
