-
Notifications
You must be signed in to change notification settings - Fork 47
/
merge_upstream.sh
executable file
·58 lines (41 loc) · 1.11 KB
/
merge_upstream.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/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
# Refresh environment
make clean
make setup
forall_repos commit_if_dirty "Automatic setup commit"
./apply_patches.sh
compound_web_version=`cat element-web/package.json|grep compound-web|sed 's|.*: \"\(.*\)",|\1|;s|\^||'`
echo "TODO: merge compound web at $compound_web_version"
popd > /dev/null