#!/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 ptools function display_help() { uecho "$scriptname: basculer sur une branche de développement USAGE $scriptname [options] [TOPIC [SOURCE]] - Vérifier l'existence de la branche develop. La créer si nécessaire en la basant sur [origin/]master. - Vérifier s'il n'y a pas de modifications locales. Sinon, proposer de faire un commit ou un stash. - Si TOPIC est spécifié, et si on n'est pas déjà sur cette branche, basculer vers cette nouvelle branche. S'il s'agit d'une nouvelle branche, la baser sur la branche SOURCE, qui vaut par défaut develop - Si TOPIC n'est pas spécifié, basculer sur develop s'il s'agit de la seule solution, sinon afficher un menu pour choisir la branche de destination. OPTIONS --init Créer la branche develop et la configurer le cas échéant pour qu'elle traque la branche origin/develop -m, --merge Si la branche actuelle est une branche de topic, la merger dans develop puis la supprimer. Puis basculer sur la branche develop. -l, --log Afficher les modifications actuellement effectuée dans la branche de topic par rapport à develop. -d, --diff Afficher les modifications actuellement effectuée dans la branche de topic par rapport à develop, sous forme de diff." } parse_opts "${PRETTYOPTS[@]}" \ --help '$exit_with display_help' \ @ args -- "$@" && set -- "${args[@]}" || die "$args" git_ensure_gitvcs if ! git_have_branch develop; then estepn "Création de la branche develop" git_ensure_branch develop [ $? -eq 2 ] && die "Une erreur s'est produite pendant la création de la branche develop" fi git_track_branch develop topic="$1" source="$2" if [ -n "$topic" ]; then # Créer/basculer vers une branche de topic : else # Créer/basculer vers la branche de développement : fi