schildichat-desktop/merge_upstream.sh
2024-10-06 17:11:27 +02:00

60 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
set -e
mydir="$(dirname "$(realpath "$0")")"
# Update patches?
if [ "$1" = "-u" ]; then
keep_patches=0
shift
else
keep_patches=1
fi
pushd "$mydir" > /dev/null
source ./merge_helpers.sh
# Persist current state
if [ "$keep_patches" = 0 ]; then
./generate_patches.sh
fi
# Abandon all local submodule state
forall_repos git reset --hard
git submodule update -f --recursive
# Fetch upstream
forall_repos git fetch upstream
# Check if specific version to merge passed
if [ -z "$1" ]; then
get_latest_upstream_tag
else
latest_upstream_tag="$1"
fi
sc_branch_name="sc_$latest_upstream_tag"
forelement_repos git checkout "$latest_upstream_tag" -B "$sc_branch_name"
get_current_mxsdk_tags
pushd "matrix-js-sdk" > /dev/null
git checkout "$current_mxjssdk_tag" -B "$sc_branch_name"
popd > /dev/null
pushd "matrix-react-sdk" > /dev/null
git checkout "$current_mxreactsdk_tag" -B "$sc_branch_name"
popd > /dev/null
# Refresh environment
make clean
make setup
forall_repos commit_if_dirty "Automatic setup commit"
./apply_patches.sh
popd > /dev/null