Here is the diff:
diff --git a/make/scripts/hgforest.sh b/make/scripts/hgforest.sh --- a/make/scripts/hgforest.sh +++ b/make/scripts/hgforest.sh @@ -98,7 +98,8 @@ ( ( if [ "${command}" = "clone" -o "${command}" = "fclone" ] ; then - cline="hg clone ${pull_default}/${i} ${i}" + pull_newrepo="`echo ${pull_default}/${i} | sed -e 's@\([^:]/\)//*@\1@g'`" + cline="hg clone ${pull_newrepo} ${i}" echo "# ${cline}" ( eval "${cline}" ) else @@ -121,7 +122,8 @@ n=`expr ${n} '+' 1` ( ( - cline="hg clone ${pull_extra}/${i} ${i}" + pull_newextrarepo="`echo ${pull_extra}/${i} | sed -e 's@\([^:]/\)//*@\1@g'`" + cline="hg clone ${pull_newextrarepo} ${i}" echo "# ${cline}" ( eval "${cline}" ) echo "# exit code $?" -kto On Jun 26, 2012, at 2:28 PM, David Holmes wrote: > On 27/06/2012 4:13 AM, Kelly O'Hair wrote: >> >> On Jun 21, 2012, at 6:54 PM, David Holmes wrote: >> >>> On 22/06/2012 2:19 AM, Kelly O'Hair wrote: >>>> The key is how you ran the initial clone command, did you do this: >>>> >>>> hg clone http://hg.openjdk.java.net/jdk8/tl yourTL >>>> >>>> OR >>>> >>>> hg clone http://hg.openjdk.java.net/jdk8/tl/ yourTL >>> >>> The latter. It really shouldn't matter of course. >>> >>>> I could change the make/scripts/hgforest.sh to not append / when the base >>>> path already has it. >>> >>> BTW for the closed repos the // was in two places - again presumably >>> because the "extra path" ended in / >>> >>> Arguably it is a mercurial bug - it should ignore // in paths. :( >> >> How about if I add some kind of filter on the paths I create, e.g. >> sed -e 's@\([^:]/\)//*@\1@g' >> >> ??? > > If that works great! I don't read regex fluently :( > > David > >> -kto >> >>> >>> Cheers, >>> David >>> >>>> -kto >>>> >>>> >>>> On Jun 20, 2012, at 5:49 PM, David Holmes wrote: >>>> >>>>> I just cloned the complete TL JDK8 forest by cloning the top repo then >>>>> using get_source.sh to clone the other repos (open and closed). >>>>> >>>>> At the top-level hgdefpath shows >>>>> >>>>> /export/users/dh198349/jdk8> hg defpath >>>>> default = http://hg.openjdk.java.net/jdk8/tl/ >>>>> default-push = None >>>>> >>>>> I then went into the jdk repo to run "hg defpath -dgu dholmes" and got: >>>>> >>>>> abort: http://hg.openjdk.java.net/jdk8/tl//jdk: Repository not found >>>>> No hgrc files updated >>>>> >>>>> Note the // prior to jdk. If I edit .hgrc/hgrc to change that to a / the >>>>> defpath works. >>>>> >>>>> Note that clones/pulls etc don't care about the // but the "defpath -dg" >>>>> does. >>>>> >>>>> All of the clones initiated via hgforest.sh have the // eg: >>>>> >>>>> # Repos: corba jaxp jaxws langtools jdk hotspot jdk/src/closed >>>>> jdk/make/closed jdk/test/closed hotspot/src/closed hotspot/test/closed >>>>> deploy install sponsors pubs >>>>> Starting on corba >>>>> Starting on jaxp >>>>> Starting on jaxws >>>>> Starting on langtools >>>>> # hg clone http://hg.openjdk.java.net/jdk8/tl//corba corba >>>>> >>>>> David >>>>> >>>> >>