Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Please ADD ALL Changes to the UNRELEASED SECTION and not a specific release
- Replace raw echo with output helpers in linux/install-fp
- Replace raw echo with output helpers in git/update-preview
- Replace raw echo with standard output helpers in git/update-dotnet-sdk
- Replace raw echo with standard output helpers in git/switchtomain
### Changed
- GEOIP - Updated GEOIP DB from MaxMind (2026-06-03)
- Replace raw echo with standard output helpers (die/info/success) in github/cancel-workflows
Expand Down
27 changes: 20 additions & 7 deletions git/switchtomain
Original file line number Diff line number Diff line change
@@ -1,18 +1,31 @@
#! /bin/sh

die() {
printf '\n\033[31m✗\033[0m %s\n' "$*" >&2
exit 1
}

success() {
printf '\n\033[32m✓\033[0m %s\n' "$*"
}

info() {
printf '\n\033[32m→\033[0m %s\n' "$*"
}

find "$(pwd)"/* -name '*.git' -print | sed "s|/.git$||" | sort -u | grep -v .cache | while IFS= read -r line
do
echo "$line"
info "$line"
CURRENT_DIR=$line

DEFAULT_BRANCH=$(git -C "$CURRENT_DIR" remote show origin | sed -n '/HEAD branch/s/.*: //p')
echo ""
echo "Retrieving $CURRENT_DIR..."
info "Retrieving $CURRENT_DIR..."
git -C "$CURRENT_DIR" remote get-url origin 2>&1
git -C "$CURRENT_DIR" fetch origin 2>&1

[ -z "$DEFAULT_BRANCH" ] && echo "**** No default branch found"
[ ! -z "$DEFAULT_BRANCH" ] && git -C "$CURRENT_DIR" checkout "$DEFAULT_BRANCH" 2>&1
[ ! -z "$DEFAULT_BRANCH" ] && git -C "$CURRENT_DIR" fetch origin 2>&1
[ -z "$DEFAULT_BRANCH" ] && info "No default branch found"
[ -n "$DEFAULT_BRANCH" ] && git -C "$CURRENT_DIR" checkout "$DEFAULT_BRANCH" 2>&1
[ -n "$DEFAULT_BRANCH" ] && git -C "$CURRENT_DIR" fetch origin 2>&1

echo " * done"
success "$CURRENT_DIR"
done
Loading