aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormduigou <none@none>2014-03-26 16:56:58 -0700
committermduigou <none@none>2014-03-26 16:56:58 -0700
commit012c9fa79e6f3bb7c7585a10b8b46fa8615aeeae (patch)
tree2aebb6a46a00279e0b3571bf69519fdd270106eb
parent6cc9fe7315603d125554e78d33233a0788e35f0a (diff)
downloadjdk8u-012c9fa79e6f3bb7c7585a10b8b46fa8615aeeae.tar.gz
8038435: Some hgforest.sh commands don't receive parameters
Reviewed-by: katleman
-rw-r--r--common/bin/hgforest.sh38
1 files changed, 21 insertions, 17 deletions
diff --git a/common/bin/hgforest.sh b/common/bin/hgforest.sh
index 2338f7e..ab674d5 100644
--- a/common/bin/hgforest.sh
+++ b/common/bin/hgforest.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
#
# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
@@ -60,10 +60,10 @@ done
command="$1"; shift
-repo_base="$@"
+command_args="$@"
usage() {
- echo "usage: $0 [-q|--quiet] [-v|--verbose] [--] <command> [repo_base_path]" > ${status_output}
+ echo "usage: $0 [-q|--quiet] [-v|--verbose] [--] <command> [commands...]" > ${status_output}
exit 1
}
@@ -113,26 +113,30 @@ subrepos_extra="jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/clos
pull_default=""
repos=""
repos_extra=""
-if [ "${command}" = "clone" -o "${command}" = "fclone" ] ; then
- if [ -f .hg/hgrc ] ; then
- pull_default=`hg paths default`
- if [ "${pull_default}" = "" ] ; then
- echo "ERROR: Need initial clone with 'hg paths default' defined" > ${status_output}
- exit 1
- fi
+if [ "${command}" = "clone" -o "${command}" = "fclone" -o "${command}" = "tclone" ] ; then
+ if [ ! -f .hg/hgrc ] ; then
+ echo "ERROR: Need initial repository to use this script" > ${status_output}
+ exit 1
fi
+
+ pull_default=`hg paths default`
if [ "${pull_default}" = "" ] ; then
- echo "ERROR: Need initial repository to use this script" > ${status_output}
+ echo "ERROR: Need initial clone with 'hg paths default' defined" > ${status_output}
exit 1
fi
+
for i in ${subrepos} ; do
if [ ! -f ${i}/.hg/hgrc ] ; then
repos="${repos} ${i}"
fi
done
- if [ "${repo_base}" != "" ] ; then
+ if [ "${command_args}" != "" ] ; then
pull_default_tail=`echo ${pull_default} | sed -e 's@^.*://[^/]*/\(.*\)@\1@'`
- pull_extra="${repo_base}/${pull_default_tail}"
+ if [ "x${pull_default}" = "x${pull_default_tail}" ] ; then
+ echo "ERROR: Need initial clone from non-local source" > ${status_output}
+ exit 1
+ fi
+ pull_extra="${command_args}/${pull_default_tail}"
for i in ${subrepos_extra} ; do
if [ ! -f ${i}/.hg/hgrc ] ; then
repos_extra="${repos_extra} ${i}"
@@ -214,9 +218,8 @@ else
done
(
(
- if [ "${command}" = "clone" -o "${command}" = "fclone" ] ; then
+ if [ "${command}" = "clone" -o "${command}" = "fclone" -o "${command}" = "tclone" ] ; then
pull_newrepo="`echo ${pull_base}/${i} | sed -e 's@\([^:]/\)//*@\1@g'`"
- echo "hg clone ${pull_newrepo} ${i}" > ${status_output}
path="`dirname ${i}`"
if [ "${path}" != "." ] ; then
times=0
@@ -229,10 +232,11 @@ else
sleep 5
done
fi
+ echo "hg clone ${pull_newrepo} ${i}" > ${status_output}
(PYTHONUNBUFFERED=true hg${global_opts} clone ${pull_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
else
- echo "cd ${i} && hg${global_opts} ${command} ${repo_base}" > ${status_output}
- cd ${i} && (PYTHONUNBUFFERED=true hg${global_opts} ${command} ${command_repo}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
+ echo "cd ${i} && hg${global_opts} ${command} ${command_args}" > ${status_output}
+ cd ${i} && (PYTHONUNBUFFERED=true hg${global_opts} ${command} ${command_args}; echo "$?" > ${tmp}/${repopidfile}.pid.rc ) 2>&1 &
fi
echo $! > ${tmp}/${repopidfile}.pid