1#!/usr/bin/env bash
2set -euo pipefail
3
4# Collect metadata
5DATETIME_TZ=$(date '+%Y-%m-%d %H:%M:%S %Z')
6FILENAME_TS=$(date '+%Y-%m-%d_%H-%M-%S')
7
8if command -v git >/dev/null 2>&1 && git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
9 REPO_ROOT=$(git rev-parse --show-toplevel)
10 REPO_NAME=$(basename "$REPO_ROOT")
11 GIT_BRANCH=$(git branch --show-current 2>/dev/null || git rev-parse --abbrev-ref HEAD)
12 GIT_COMMIT=$(git rev-parse HEAD)
13else
14 REPO_ROOT=""
15 REPO_NAME=""
16 GIT_BRANCH=""
17 GIT_COMMIT=""
18fi
19
20# Print similar to the individual command outputs
21echo "Current Date/Time (TZ): $DATETIME_TZ"
22[ -n "$GIT_COMMIT" ] && echo "Current Git Commit Hash: $GIT_COMMIT"
23[ -n "$GIT_BRANCH" ] && echo "Current Branch Name: $GIT_BRANCH"
24[ -n "$REPO_NAME" ] && echo "Repository Name: $REPO_NAME"
25echo "Timestamp For Filename: $FILENAME_TS"