diff --git a/publishGitHub.sh b/publishGitHub.sh index 22c7411..cf777a7 100755 --- a/publishGitHub.sh +++ b/publishGitHub.sh @@ -1,9 +1,28 @@ #!/usr/bin/env bash set -euo pipefail +if [ "$#" -ne 1 ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +BRANCH="$1" + SOURCE="$HOME/projects/com_r35157_nenjim-hubd-impl_ref" TARGET="$HOME/projects/com_r35157_nenjim-hubd-impl_ref_github_snapshot" +cd "$TARGET" + +git fetch origin + +if git show-ref --verify --quiet "refs/heads/$BRANCH"; then + git switch "$BRANCH" +elif git show-ref --verify --quiet "refs/remotes/origin/$BRANCH"; then + git switch --track "origin/$BRANCH" +else + git switch --create "$BRANCH" +fi + rsync -a --delete \ --exclude '.git' \ --exclude 'conf/*.conf' \ @@ -11,13 +30,12 @@ rsync -a --delete \ "$SOURCE/" \ "$TARGET/" -cd "$TARGET" git add -A if git diff --cached --quiet; then - echo "No snapshot changes to publish." + echo "No snapshot changes to publish on branch '$BRANCH'." exit 0 fi git commit -m "Mirror snapshot" -git push +git push -u origin "$BRANCH"