|
|
#!/bin/sh # --- SDE-COPYRIGHT-NOTE-BEGIN --- # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # # Filename: bin/sde-update-tree # Copyright (C) 2007 The OpenSDE Project # # More information can be found in the files COPYING and README. # # 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; version 2 of the License. A copy of the # GNU General Public License can be found in the file COPYING. # --- SDE-COPYRIGHT-NOTE-END ---
[ -n "$SDEROOT" ] || export SDEROOT=$( cd "${0%/*}/.."; pwd -P )
. $SDEROOT/lib/libsde.in
update_usage() { local progname=${0##*/} cat <<EOT Usage: $progname [FILES...] EOT }
shortopts='' longopts='' options=$( getopt -o "$shortopts" -l "$longopts" -- "$@" ) if [ $? -ne 0 ]; then list_usage exit -1 fi
# load new arguments list eval set -- "$options"
GITSERVER=git://git.opensde.net
while [ $# -gt 0 ]; do case "$1" in
--) shift; break ;; *) echo_abort 1 "Unknown argument '$1', aborting." esac shift done
# jump to the working tree's root # cd "$SDEROOT"
tree="${SDEROOT##*/}" # hunt for the roots of the sub-working trees # for x in . package $( ls -1d package/* target/* 2> /dev/null ); do if [ ! -d "$x" ]; then case "$x" in package) echo -n "$tree/$x: " git clone --quiet "$GITSERVER/opensde/$x-nopast.git" "$x" ;; *) echo "$tree/$x: missing" >&2 ;; esac elif [ -d "$x/.git" ]; then cd "$x"; echo -n "$tree/$x: " git fetch --quiet && git reset && git rebase origin cd - > /dev/null elif [ -d "$x/.svn" ]; then cd "$x"; echo -n "$tree/$x: " svn up cd - > /dev/null fi done
|