#!/bin/bash
#
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
# 
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
# 
# ROCK Linux: rock-src/scripts/Update-Src
# ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf
# 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version. A copy of the GNU General Public
# License can be found at Documentation/COPYING.
# 
# Many people helped and are helping developing ROCK Linux. Please
# have a look at http://www.rocklinux.org/ and the Documentation/TEAM
# file for details.
# 
# --- ROCK-COPYRIGHT-NOTE-END ---
#
# The Update script updates the ROCK source tree (or individual packages)
# using rsync. It does not update your tar balls!
#

srcroot="rsync://www.rocklinux.org/rock-2.1"

help_msg() {
	echo
	echo "Usage: $0 [ -srcroot <URL> ]"
	echo
	echo " Update the entire ROCK Linux tree to the current development snapshot using"
	echo " 'rsync'. It does not update your tar balls, that is you still have to run"
	echo " ./scripts/Download for updated packages."
	echo
	echo " Warning: It will remove changes you have made to the source tree!"
	echo
	echo " The default for -srcroot is '$srcroot'."
	echo
	exit 1
}

while [ "$1" ] ; do
	case "$1" in
		-srcroot) srcroot="$2" ; shift ;;
		*)  help_msg ;;
	esac
	shift
done

if [ -L scripts ] ; then
	echo "Update-Src shouldn't be run in a linked source tree."
	exit 1;
fi

if [ -d .svn ] ; then
	if [ -d ../`basename $PWD`.sm/SM ] ; then
		echo "This looks like a submaster tree. Please update it using sm sync!"
		exit 1
	fi

	echo "Running 'svn up' ..."
	svn up
else
	cmd="rsync -rltzv --delete"
	for x in Documentation architecture package misc scripts target
	do cmd="$cmd --include='/$x' --include='/$x/**'"; done
	cmd="$cmd --exclude='*' $srcroot ."

	echo "Running '$cmd' ..."
	eval "$cmd"
fi

echo
echo "You might need to run ./scripts/Download now."
echo