Skip to content
This repository was archived by the owner on Feb 11, 2026. It is now read-only.

Commit a9e5721

Browse files
authored
Merge pull request #56 from elecordapp/element-merge-process
Upstream merge process
2 parents 37f9943 + ad25e52 commit a9e5721

3 files changed

Lines changed: 177 additions & 22 deletions

File tree

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.sh text eol=lf

MERGE_ELEMENT.md

Lines changed: 52 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,84 @@
11
# Merge upstream `element-web` into `master`
22

3-
Pre-requisites
4-
- Review [element-web releases](https://github.com/element-hq/element-web/releases)
5-
- Sync fork [elecordapp/matrix-js-sdk](https://github.com/elecordapp/matrix-js-sdk)
3+
## Pre-requisites
64

7-
---
5+
1. Review changes in [element-web releases](https://github.com/element-hq/element-web/releases)
86

9-
1. Create a branch named 'element-v1.xx.xx'
7+
1. Review any changes to the app's [config.json file](https://github.com/element-hq/element-web/blob/master/element.io/app/config.json)
8+
9+
1. Sync js-sdk fork [elecordapp/matrix-js-sdk](https://github.com/elecordapp/matrix-js-sdk)
10+
11+
> [!NOTE]
12+
> Create a [backup branch](https://github.com/elecordapp/matrix-js-sdk/branches) before syncing the upstream
13+
14+
## Merge
15+
16+
1. Create a new branch named `element-v1.xx.xx`
17+
18+
> [!IMPORTANT]
19+
> Run `gitrm.sh` to ensure elecord hasn't added back any upstream files
1020
1121
1. Merge the upstream master branch
1222

13-
> On GitHub desktop:
14-
> - Select 'Choose a branch to merge into element-v1.xx.xx'
15-
> - Select 'upstream/master'
16-
> - Select 'Create a merge commit'
23+
> [!TIP]
24+
> Using GitHub Desktop
25+
> - Select `Choose a branch to merge into element-v1.xx.xx`
26+
> - Select `upstream/master`
27+
> - Select `Create a merge commit`
1728
1829
1. Resolve merge conflicts
1930

20-
> Use branch file
31+
> [!IMPORTANT]
32+
> Run `gitrm.sh` to discount previously removed upstream files
33+
34+
> [!TIP]
35+
> Always use the branch file for...
2136
> - CHANGELOG.md
2237
> - README.md
23-
24-
> Use upstream/master
38+
> <br><br>
39+
>
40+
> Always use the upstream file for...
2541
> - yarn.lock
2642
27-
> Run gitrm.sh
28-
> `git rm --cached -r docs\config.md`
29-
> `git rm --cached -r playwright`
43+
> [!WARNING]
44+
> Don't use the `package.json` branch file, instead resolve merge conflicts as there might be unseen changes
45+
46+
1. Complete the merge process
3047

31-
> Do not use the `package.json` branch file, resolve merge conflicts as there might be unseen changes
48+
## Review
3249

3350
1. Check for any new files added or unwanted changes
3451

35-
1. Run the build locally
52+
> [!NOTE]
53+
> You can amend the merge commit as needed
54+
55+
1. Build the app locally and test
3656

37-
1. Commit the yarn lock 'chore: update yarn.lock'
57+
1. Commit the yarn.lock file `chore: update yarn.lock`
3858

59+
> [!WARNING]
3960
> Only include additions, no local paths or minified package locks
4061
4162
1. Commit any required regression fixes
4263

43-
> Note, any commits made to this branch won't be included in the changelog
64+
> [!NOTE]
65+
> Any commits made to this branch won't be included in the changelog
4466
4567
1. Publish the branch
4668

47-
1. Create a pull request ('Element v1.XX.XX')
69+
## Pull Request
70+
71+
1. Create a pull request named `Element v1.xx.xx`
72+
73+
> Merge upstream Element-web v1.11.xx-yy.
74+
> - Bundles new feature A
75+
> - Adds important feature B
4876
4977
1. Test the app
5078

5179
1. Merge (don’t squash)
5280

53-
> [!IMPORTANT]
54-
> elecord-desktop will also need to be updated
81+
<br>
82+
83+
> [!CAUTION]
84+
> `elecord-desktop` will also need to be updated, simply repeat these steps

scripts/gitrm.sh

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
git rm --cached -r test/
2+
git rm --cached -r playwright/
3+
git rm --cached -r element.io/
4+
git rm --cached -r docs/
5+
git rm --cached -r docker/
6+
git rm --cached -r debian/
7+
git rm --cached -r mocks/
8+
git rm --cached -r .husky/
9+
git rm --cached sonar-project.properties
10+
git rm --cached playwright.config.ts
11+
git rm --cached jest.config.ts
12+
git rm --cached Dockerfile
13+
git rm --cached CONTRIBUTING.md
14+
git rm --cached config.sample.json
15+
git rm --cached code_style.md
16+
git rm --cached build_config.sample.yaml
17+
git rm --cached book.toml
18+
git rm --cached AUTHORS.rst
19+
git rm --cached .dockerignore
20+
git rm --cached .github/CODEOWNERS
21+
git rm --cached .github/FUNDING.yml
22+
git rm --cached .github/PULL_REQUEST_TEMPLATE.md
23+
git rm --cached .github/labels.yml
24+
git rm --cached .github/release-drafter.yml
25+
git rm --cached .github/renovate.json
26+
git rm --cached -r .github/actions/
27+
git rm --cached -r .github/ISSUE_TEMPLATE/
28+
git rm --cached .github/workflows/backport.yml
29+
git rm --cached .github/workflows/build_debian.yaml
30+
git rm --cached .github/workflows/build_develop.yml
31+
git rm --cached .github/workflows/deploy.yml
32+
git rm --cached .github/workflows/docker.yaml
33+
git rm --cached .github/workflows/docs.yml
34+
git rm --cached .github/workflows/end-to-end-tests-netlify.yaml
35+
git rm --cached .github/workflows/end-to-end-tests.yaml
36+
git rm --cached .github/workflows/issue_closed.yml
37+
git rm --cached .github/workflows/localazy_download.yaml
38+
git rm --cached .github/workflows/localazy_upload.yaml
39+
git rm --cached .github/workflows/netlify.yaml
40+
git rm --cached .github/workflows/pending-reviews.yaml
41+
git rm --cached .github/workflows/playwright-image-updates.yaml
42+
git rm --cached .github/workflows/pull_request.yaml
43+
git rm --cached .github/workflows/pull_request_base_branch.yaml
44+
git rm --cached .github/workflows/release-drafter.yml
45+
git rm --cached .github/workflows/release-gitflow.yml
46+
git rm --cached .github/workflows/release.yml
47+
git rm --cached .github/workflows/release_prepare.yml
48+
git rm --cached .github/workflows/sonarqube.yml
49+
git rm --cached .github/workflows/static_analysis.yaml
50+
git rm --cached .github/workflows/sync-labels.yml
51+
git rm --cached .github/workflows/tests.yml
52+
git rm --cached .github/workflows/triage-assigned.yml
53+
git rm --cached .github/workflows/triage-incoming.yml
54+
git rm --cached .github/workflows/triage-labelled.yml
55+
git rm --cached .github/workflows/triage-move-review-requests.yml
56+
git rm --cached .github/workflows/triage-stale.yml
57+
git rm --cached .github/workflows/triage-unlabelled.yml
58+
git rm --cached .github/workflows/update-jitsi.yml
59+
git rm --cached .github/workflows/update-topics.yaml
60+
git rm --cached -r __mocks__/
61+
git rm --cached knip.ts
62+
git rm --cached developer_guide.md
63+
rm -rf test/
64+
rm -rf playwright/
65+
rm -rf element.io/
66+
rm -rf docs/
67+
rm -rf docker/
68+
rm -rf debian/
69+
rm -rf mocks/
70+
rm -rf .husky/
71+
rm sonar-project.properties
72+
rm playwright.config.ts
73+
rm jest.config.ts
74+
rm Dockerfile
75+
rm CONTRIBUTING.md
76+
rm config.sample.json
77+
rm code_style.md
78+
rm build_config.sample.yaml
79+
rm book.toml
80+
rm AUTHORS.rst
81+
rm .dockerignore
82+
rm .github/CODEOWNERS
83+
rm .github/FUNDING.yml
84+
rm .github/PULL_REQUEST_TEMPLATE.md
85+
rm .github/labels.yml
86+
rm .github/release-drafter.yml
87+
rm .github/renovate.json
88+
rm -rf .github/actions/
89+
rm -rf .github/ISSUE_TEMPLATE/
90+
rm .github/workflows/backport.yml
91+
rm .github/workflows/build_debian.yaml
92+
rm .github/workflows/build_develop.yml
93+
rm .github/workflows/deploy.yml
94+
rm .github/workflows/docker.yaml
95+
rm .github/workflows/docs.yml
96+
rm .github/workflows/end-to-end-tests-netlify.yaml
97+
rm .github/workflows/end-to-end-tests.yaml
98+
rm .github/workflows/issue_closed.yml
99+
rm .github/workflows/localazy_download.yaml
100+
rm .github/workflows/localazy_upload.yaml
101+
rm .github/workflows/netlify.yaml
102+
rm .github/workflows/pending-rfeviews.yaml
103+
rm .github/workflows/playwright-image-updates.yaml
104+
rm .github/workflows/pull_request.yaml
105+
rm .github/workflows/pull_request_base_branch.yaml
106+
rm .github/workflows/release-drafter.yml
107+
rm .github/workflows/release-gitflow.yml
108+
rm .github/workflows/release.yml
109+
rm .github/workflows/release_prepare.yml
110+
rm .github/workflows/sonarqube.yml
111+
rm .github/workflows/static_analysis.yaml
112+
rm .github/workflows/sync-labels.yml
113+
rm .github/workflows/tests.yml
114+
rm .github/workflows/triage-assigned.yml
115+
rm .github/workflows/triage-incoming.yml
116+
rm .github/workflows/triage-labelled.yml
117+
rm .github/workflows/triage-move-rfeview-rfequests.yml
118+
rm .github/workflows/triage-stale.yml
119+
rm .github/workflows/triage-unlabelled.yml
120+
rm .github/workflows/update-jitsi.yml
121+
rm .github/workflows/update-topics.yaml
122+
rm -rf __mocks__/
123+
rm knip.ts
124+
rm developer_guide.md

0 commit comments

Comments
 (0)