mirror of
https://github.com/basecamp/omarchy.git
synced 2025-07-27 12:19:24 +00:00
32 lines
871 B
Bash
Executable File
32 lines
871 B
Bash
Executable File
#!/bin/bash
|
|
|
|
cd ~/.local/share/omarchy
|
|
|
|
if [[ $1 == "all" ]]; then
|
|
# Run all migrations since the root commit
|
|
migration_starting_point=$(git log --max-parents=0 --first-parent --format="%H")
|
|
else
|
|
# Remember the commit we're at before upgrading in order to only run new migrations
|
|
migration_starting_point=$(git log -1 --format=%H)
|
|
fi
|
|
|
|
# Get the latest while trying to preserve any modifications
|
|
git pull --autostash
|
|
git diff --check || git reset --merge
|
|
|
|
# Run any pending migrations
|
|
for file in $(git diff --name-only --diff-filter=A $migration_starting_point.. migrations/*.sh); do
|
|
filename=$(basename "$file")
|
|
migrate_at="${filename%.sh}"
|
|
|
|
echo -e "\e[32m\nRunning migration ($migrate_at)\e[0m"
|
|
source $file
|
|
done
|
|
|
|
# Update system packages
|
|
echo -e "\e[32m\nUpdate system packages\e[0m"
|
|
yay -Syu --noconfirm
|
|
|
|
# Back to where we came from
|
|
cd - >/dev/null
|