diff -r 820b22e13ff1 -r 39c28ec933dd cross-plat-dev-utils/get_upstream.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cross-plat-dev-utils/get_upstream.pl Mon May 10 19:54:49 2010 +0100 @@ -0,0 +1,57 @@ +#!/usr/bin/perl +# Copyright (c) 2010 Symbian Foundation Ltd +# This component and the accompanying materials are made available +# under the terms of the License "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Mike Kinghan, mikek@symbian.org for Symbian Foundation Ltd - initial contribution. + +# Script to clone the upstream package at the baseline revision. + +use strict; +use Cwd; +use get_baseline; +use File::Spec; + +if (!@ARGV or @ARGV > 1 or grep(/$ARGV[0]/,("-h","--help"))) { + print "This script clones or updates the upstream package at the baseline revision " . + "from http://developer.symbian.org/oss/MCL/sftools/dev/build\n"; + print "Valid arguments are -h, --help, or CLONEDIR, where CLONEDIR is the" . + " name of the existing directory into which the upstream package will " . + "be cloned if this does not seem to have been already done Otherwise " . + "CLONEDIR/build will be updated.\n"; + exit 0; +} +my $clonedir = $ARGV[0]; +unless ( -d "$clonedir") { + die "*** Error: directory \"$clonedir\" does not exist ***"; +} +my $baseline_rev = get_baseline(); +print ">>> Baseline revision is $baseline_rev\n"; +my $cwd = cwd; +my $cmd; +chdir $clonedir or die $!; +print ">>> Changed to dir \"$clonedir\"\n"; +my $hg_dir = File::Spec->catfile("build",".hg"); +if ( -d $hg_dir) { + print ">>> There seems to a repo of the build package in \"$clonedir\"\n"; + print ">>> Will try to update it\n"; + chdir "build" or die $!; + print ">>> Changed to dir \"build\"\n"; + $cmd = "hg update -c -r $baseline_rev "; + +} +else { + print ">>> There is no existing repo in \"$clonedir\"\n"; + print ">>> Will clone fresh\n"; + $cmd = "hg clone -r $baseline_rev " . + "http://developer.symbian.org/oss/MCL/sftools/dev/build"; +} +print ">>> Executing: $cmd\n"; +my $rc = system($cmd) >> 8; +chdir $cwd or die $!; +print ">>> Changed to dir \"$cwd\"\n"; +exit $rc; +