summaryrefslogtreecommitdiffstats
path: root/gfx/angle/README.mozilla
blob: d321c08c3b6793bbea5232ab89dc905f2ce60c49 (plain)
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
This is the ANGLE project, originally from https://chromium.googlesource.com/angle/angle 

The Mozilla upstream is the 'mozilla' branch from https://github.com/mozilla/angle, which
includes Mozilla-specific patches on top of upstream.

=== How to upgrade ANGLE ===

1. git clone https://github.com/mozilla/angle angle

2. Go into the angle dir, and add the google upstream as a remote:
     git remote add google https://chromium.googlesource.com/angle/angle

3. Fetch the new google upstream:
     git fetch google

4. Switch to the mozilla branch
     git checkout mozilla

5. Rebase the mozilla branch on top of the new google master.  Fix up patches along the way,
   remove unneded commits.  Google seems to have "chromium/2059" branches as well, that I
   assume are merges into the Chromium tree.  These might be a good point to rebase on
   as well, instead of google/master:
     git rebase -i google/master
  or git rebase -i google/chromium/2081  (whatever the latest is in 'git branch -a')

6. Re-generate moz.build files:
     ./gyp_mozbuild

7. nuke mozilla-central/gfx/angle directory

8. copy all the relevant files from the github checkout
     cd mozilla-central
     mkdir gfx/angle
     cp -r /c/proj/angle/[A-Z]* /c/proj/angle/{include,src,moz.build} gfx/angle

9.  Build. Fix things until it builds.

10. Try runs and reviews!

11. Once reviews are done and checkin is ready, tag the equivalent git repo:
    git tag -a mozilla-bug-123456 -m "ANGLE update for bug 123456"

12. Push the new mozilla branch, along with the tags upstream:
    git push --tags mozilla +mozilla

The "mozilla" branch head will keep moving, since it will keep getting rebased.
The tags will point to the topmost commit that was used for a particular bug number,
so that we can see its history if needed.