#!/bin/bash # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 source "$(dirname "$0")/lib/ulib/ulib" || exit 1 urequire DEFAULTS # XXX ajouter la possibilité de faire des pré-releases, --alpha, --beta, --rc # les pré-releases restent dans la branche de release, et vivent leur vie, # jusqu'à la release finale qui est mergée dans master. Il faudrait aussi une # option pour merger les modifications de la branche de release dans develop function display_help() { uecho "$scriptname: basculer sur une branche de release USAGE $scriptname [options] [SOURCE] - Vérifier s'il n'y a pas de modifications locales. Sinon, proposer de faire un commit ou un stash. - Si aucune branche de release n'existe, assumer -u -z pour préparer une release mineure. Sinon, basculer simplement sur la branche de release. OPTIONS -u, --update Préparer une release. Utiliser une des options -x, -z ou -p pour spécifier le type de release à préparer. S'il faut créer une nouvelle branche, la baser sur la branche SOURCE, qui vaut par défaut develop -x, --major -z, --minor -p, --patchlevel Utilisé avec l'option -u, préparer respectivement une release majeure, mineure (par défaut), et pour correction de bug. -m, --merge Si la branche actuelle est une branche de release, ou s'il existe une branche de release, la merger dans master, puis dans develop, puis la supprimer. Puis basculer sur la branche master. Si la branche actuelle est une branche de topic et qu'il n'existe aucune branche de release, assumer les options -u -z -m -l, --log Afficher les modifications actuellement effectuée dans la branche de release par rapport à develop. -d, --diff Afficher les modifications actuellement effectuée dans la branche de release par rapport à develop, sous forme de diff." } parse_opts "${PRETTYOPTS[@]}" \ --help '$exit_with display_help' \ @ args -- "$@" && set -- "${args[@]}" || die "$args"