| #!/bin/bash -eu |
| |
| SCRIPTS="$(dirname "$0")" |
| . "$SCRIPTS"/lsq-defs |
| |
| find_commit() { |
| local full_hash upstream base_ver queue |
| |
| if full_hash="$(git rev-parse "$1")" && [ "$full_hash" ]; then |
| if upstream="$(git describe --contains --match 'v*' "$full_hash" 2>/dev/null)"; then |
| echo "upstream: ${upstream%%[~^]*}" |
| else |
| echo "upstream: not yet released" |
| fi |
| for base_ver in $STABLE_BASE_VERSIONS; do |
| git check-in-stable "$full_hash" "$base_ver" | sed 's/^/'"$base_ver"': /' |
| queue="$(get_queue $base_ver)" |
| (cd "$queue" && grep -rl "$full_hash" | sed 's/^/'"$base_ver"': queued: /') |
| done |
| fi |
| echo --- |
| } |
| |
| if [ $# -eq 0 ]; then |
| while read hash; do |
| find_commit "$hash" |
| done |
| else |
| for hash in "$@"; do |
| find_commit "$hash" |
| done |
| fi |