Bug 1661: Simplified the sequence of pulls/clones via the cache, so the changes simply go from source -> cache -> destination.
authorSimon Howkins <simonh@symbian.org>
Thu, 11 Feb 2010 14:20:59 +0000
changeset 893 f4d702959f07
parent 892 24ecf67cba71
child 894 828906d2a151
Bug 1661: Simplified the sequence of pulls/clones via the cache, so the changes simply go from source -> cache -> destination. Made use of --uncompressed flag to speed things up. Including setting the flag when we create a cache entry.
common/templates/source-spec.ant.xml.ftl
--- a/common/templates/source-spec.ant.xml.ftl	Tue Feb 09 17:49:27 2010 +0000
+++ b/common/templates/source-spec.ant.xml.ftl	Thu Feb 11 14:20:59 2010 +0000
@@ -32,25 +32,19 @@
             </and>
             <then>
                 <!-- Package in cache already -->
-		<!-- Clone null revision from source to get the right default repo -->
+                <echo message="Pull from ${pkg_detail.source} to ${dollar}{sf.spec.sourcesync.cachelocation.${count}}"/>
+                <exec executable="hg" dir="${dollar}{sf.spec.sourcesync.cachelocation.${count}}" failonerror="true">
+                    <arg value="pull"/>
+                    <arg value="${pkg_detail.source}"/>
+                </exec>
+                <echo message="Clone from ${dollar}{sf.spec.sourcesync.cachelocation.${count}} to ${ant['build.drive']}${pkg_detail.dst}"/>
                 <exec executable="hg" dir="${ant['build.drive']}/" failonerror="true">
                     <arg value="clone"/>
-                    <arg value="-r"/>
-                    <arg value="null"/>
-                    <arg value="${pkg_detail.source}"/>
+                    <arg value="-U"/>
+                    <arg value="--uncompressed"/>
+                    <arg value="${dollar}{sf.spec.sourcesync.cachelocation.${count}}"/>
                     <arg value="${ant['build.drive']}${pkg_detail.dst}"/>
                 </exec>
-                <echo message="Pull from ${dollar}{sf.spec.sourcesync.cachelocation.${count}} to ${ant['build.drive']}${pkg_detail.dst}"/>
-                <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}/" failonerror="true">
-                    <arg value="pull"/>
-                    <arg value="-f"/>
-                    <arg value="${dollar}{sf.spec.sourcesync.cachelocation.${count}}"/>
-                </exec>
-                <echo message="Pull from ${pkg_detail.source} to ${ant['build.drive']}${pkg_detail.dst}"/>
-                <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="true">
-                    <arg value="pull"/>
-                    <arg value="${pkg_detail.source}"/>
-                </exec>
                 <!-- Update to required revision -->
                 <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="true">
                     <arg value="update"/>
@@ -62,15 +56,6 @@
                     <arg value="identify"/>
                     <arg value="-i"/>
                 </exec>
-                <forget>
-                    <echo message="Push from ${ant['build.drive']}${pkg_detail.dst} to ${dollar}{sf.spec.sourcesync.cachelocation.${count}} in background"/>
-                    <nice newpriority="1"/>
-                    <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="false">
-                        <arg value="push"/>
-                        <arg value="-f"/>
-                        <arg value="${dollar}{sf.spec.sourcesync.cachelocation.${count}}"/>
-                    </exec>
-                </forget>
             </then>
             <else>
                 <echo message="Clone from ${pkg_detail.source} to ${ant['build.drive']}${pkg_detail.dst}"/>
@@ -108,6 +93,10 @@
                                 <arg value="${pkg_detail.source}"/>
                                 <arg value="${dollar}{sf.spec.sourcesync.cachelocation.${count}}"/>
                             </exec>
+                            <!-- Set the speed-up flag on the cache repo -->
+                            <echo file="${dollar}{sf.spec.sourcesync.cachelocation.${count}}/.hg/hgrc" append="true" message="${dollar}{line.separator}"/>
+                            <echo file="${dollar}{sf.spec.sourcesync.cachelocation.${count}}/.hg/hgrc" append="true" message="[server]${dollar}{line.separator}"/>
+                            <echo file="${dollar}{sf.spec.sourcesync.cachelocation.${count}}/.hg/hgrc" append="true" message="uncompressed=True${dollar}{line.separator}"/>
                             <echo message="Push from ${ant['build.drive']}${pkg_detail.dst} to ${dollar}{sf.spec.sourcesync.cachelocation.${count}} in background"/>
                             <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="false">
                                 <arg value="push"/>