#!/bin/bash -euE . $(which libremessages) cmd=${0##*/} usage() { echo "Usage: $cmd [OPTIONS] REPO/PACKAGE" echo 'Fetches and merges changes from an upstream package' echo '' echo 'The repository and refspec that are merged are controlled by the' echo 'file `pbstrack`.' echo '' echo 'Options:' echo ' -h Show this message' } main() { while getopts 'h' arg; do case $arg in h) usage; return 0;; *) usage; return 1;; esac done shift $(($OPTIND - 1)) if [[ $# > 0 ]]; then usage return 1 fi local dest=$1 local package="${dest##*/}" git submodule add ./ "${dest}" cd "${dest}" git checkout --orphan "packages/${package}" } main "$@"