[devel] I: girar-import - import package from /gears or /srpms
Alexey I. Froloff
raorn at altlinux.org
Fri Jul 17 14:15:30 MSD 2009
Прошу потестировать утилитку. Принимает два аргумента, имя
бинарного репозитария (girar-acl --list) и имя пакета.
Сначала оно пытается склонировать репозитарий
/gears/P/PACKAGE.git, если это не удаётся, пытается клонировать
/srpms/P/PACKAGE.git. В склонированном локально репозитарии
ветка master отбранчивается от ветки, соответствующей
заданному бинарному репозитарию.
--
Regards,
Sir Raorn.
-------------- next part --------------
#!/bin/sh -efu
#
# Copyright (C) 2009 Alexey I. Froloff <raorn at altlinux.org>
#
# 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 <<EOF
Usage: $PROG [Options] <repository> <package>
$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 <<EOF
$PROG version $PROG_VERSION
Written by Alexey I. Froloff <raorn at altlinux.org>
Copyright (C) 2009 Alexey I. Froloff <raorn at altlinux.org>
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'"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20090717/51353819/attachment.bin>
More information about the Devel
mailing list