On 1 Feb 2013, at 22:37, David Holmes <david.hol...@oracle.com> wrote:
> Hi Chris, > > On 2/02/2013 12:40 AM, Chris Hegarty wrote: >> [ to build-dev and core-libs-dev, expect reviewer from either, but will >> integrate through jdk8/tl ] >> >> This issue is mainly of interest to Oracle engineers, but it effects the >> public hgforest script. >> >> When hgforest.sh is run with an addition argument to specify a closed >> server, there is a problem/race between the creation of the directories >> to hold nested repositories and the clone itself. These directories need >> to be created before the clone command is executed, otherwise it will >> fail, as below. > > I think I reported this myself just last week - probably internally to build > or build-infra. Ah, I missed that. > The weird thing is that based on the list of repos it shouldn't be grabbing > the closed one yet. In my remote/slow environment I end up with all clones running concurrently. > >> The trivial fix is to back off these nested repos until their containing >> directory exists. > > That seems to assume/require that the nested repo will always be later in the > list. They happen to be but .... No so. It will just wait for the process to clone the outer repo to start. > > Workaround is to run get_source.sh twice first without the "extra base" then > with it. Good suggestion. -Chris > > David > ----- > >> >> Webrev: >> http://cr.openjdk.java.net/~chegar/hgforest_nestedRepos/webrev/ >> >> sh ./get_source.sh http://xxx.yyy.oracle.com | & tee clone.log >> # Repositories: corba jaxp jaxws langtools jdk hotspot jdk/src/closed >> jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed >> hotspot/test/closed deploy install sponsors pubs >> >> Waiting 5 secs before spawning next background command. >> Waiting 5 secs before spawning next background command. >> Waiting 5 secs before spawning next background command. >> jdk/src/closed: /java/devtools/sparc/mercurial/0.9.5/bin/python -u >> /java/devtools/sparc/mercurial/latest/bin/hg clone >> http://xxx.yyy.oracle.com/jdk8/tl/jdk/src/closed jdk/src/closed >> jdk/src/closed: abort: No such file or directory: jdk/src/closed >> jdk/make/closed: /java/devtools/sparc/mercurial/0.9.5/bin/python -u >> /java/devtools/sparc/mercurial/latest/bin/hg clone >> http://xxx.yyy.oracle.com/jdk8/tl/jdk/make/closed jdk/make/closed >> jdk/make/closed: abort: No such file or directory: jdk/make/closed >> Waiting 5 secs before spawning next background command. >> .... >> >> >> -Chris.