Skip to content
Merged
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
20 changes: 17 additions & 3 deletions build/update-apps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,23 @@
# It automatically:
# - goes through all apps which are not shipped via server
# - shows the app name in bold and uses whitespace for separation
# - changes to master and pulls quietly
# - changes to master/main and pulls quietly
# - shows the 3 most recent commits for context
# - removes branches merged into master
# - removes branches merged into master/main
# - … could even do the build steps if they are consistent for the apps (like `make`)

find apps* -maxdepth 2 -name .git -exec sh -c 'cd {}/../ && printf "\n\033[1m${PWD##*/}\033[0m\n" && git checkout master && git pull --quiet -p && git --no-pager log -3 --pretty=format:"%h %Cblue%ar%x09%an %Creset%s" && printf "\n" && git branch --merged master | grep -v "master$" | xargs git branch -d && cd ..' \;
set -euo pipefail

for path in apps*/*/.git; do
(
path="$(dirname "$path")"
cd "$path"
printf "\n\033[1m${PWD##*/}\033[0m\n"
branch="$(git remote show origin | sed -n '/HEAD branch/s/.*: //p')"
git checkout "$branch"
git pull --quiet -p
git --no-pager log -3 --pretty=format:"%h %Cblue%ar%x09%an %Creset%s"
printf "\n"
git branch --merged "$branch" | grep -v "$branch$" | xargs git branch -d || true
)
done