#!/bin/sh -efu # # Copyright (C) 2009 Alexey I. Froloff # # This file 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. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. # . girar-client-sh-functions show_help() { cat < $PROG imports old package from archive. $PROG uses the git configuration file. The following variables are read: * girar.remote, corresponding to --remote Options: -R,--remote girar server alias, defaults to git.alt -q,--quiet try to be more quiet; -v,--verbose print a message for each action; -V,--version print program version and exit; -h,--help show this text and exit. Report bugs to http://bugs.altlinux.ru/ EOF exit } print_version() { cat < Copyright (C) 2009 Alexey I. Froloff This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. EOF exit } TEMP=`getopt -n $PROG -o R,q,v,V,h \ -l remote:,quiet,verbose,version,help -- "$@"` || show_usage eval set -- "$TEMP" while :; do case "$1" in -R|--remote) shift; girar_remote="$1";; -q|--quiet) quiet=-q;; -v|--verbose) verbose=-v;; -V|--version) print_version;; -h|--help) show_help;; --) shift; break;; *) fatal "unrecognized option: $1";; esac shift done [ $# -eq 2 ] || show_usage repo="$1" && shift package="$1" && shift ackage="${package#?}" p="${package%$ackage}" git clone $verbose $quiet -o "gears" "$girar_remote:/gears/$p/$package.git" || git clone $verbose $quiet -o "srpms" "$girar_remote:/srpms/$p/$package.git" || fatal "Unable to clone package \`$package'" cd "$package" || fatal "Package successfully cloned, but \`$package' directory unavailable" git checkout $quiet -f -b master "$repo" || fatal "Unable to checkout branch \`$repo'"