#!/bin/bash

set -e

if [[ $1 = -b* || $1 = --br* ]]; then
    description=$(git describe --all --always --dirty --long)
    description=${description#heads/}
elif [[ $1 = -h* || $1 = --he* ]]; then
    printf "%s\n" "Usage: $(basename "$0") [-b|--branch]"  \
                  "    --branch: prefer branches even if a tag is found"
    exit 0
else
    description=$(git describe --tags --dirty --long 2>/dev/null || git describe --all --always --dirty --long)
fi

log=$(git log -1 --pretty=format:'%s (%cs)')
printf "%s" "${description} - ${log}"  |   xclip -i -selection clipboard

