Mozilla Migracje

Stefan Plewako edited this page May 15, 2016 · 1 revision

Mozilla rozwija aplikacje (Firefox, Firefox mobile, SeaMonkey, Thunderbird) w etapach w sześciotygodniowych cyklach. Pod koniec cyklu kod aplikacji jest przenoszony do odpowiednich dla danego etapu repozytoriów (aurora, beta, release). W przypadku plików lokalizacyjnych dzieje się podobnie, z tą różnicą, że zespoły lokalizacyjne pracujące w central są odpowiedzialne za wykonanie migracji do aurory (migracjami z aurory do bety i później do release się nie zajmujemy).

Migracje staramy się wykonywać następnego dnia po migracji kodu i koordynujemy poprzez listę community-poland.

W dużym skrócie

Wykonanie migracji sprowadza się do wykonania poniższych komend:

 $ hg clone ssh://hg.mozilla.org/releases/l10n/mozilla-aurora/pl tmpdir && cd tmpdir/
 $ hg pull -r default ssh://hg.mozilla.org/l10n-central/pl
 $ hg merge
 $ hg resolve --tool internal:other --all
 $ hg ci -m "Migrating central to aurora for Firefox 41"
 $ hg push
 $ cd .. && rm -rf tmpdir

Wersja szczegółowa

Linie pogrubioną czcionką to polecenia, reszta czcionką o stałej szerokości to ich przykładowe wyjście, komentarze normalnym tekstem. Na początek należy świeżą lokalną kopię repozytorium aurora w katalogu tmpdir i przejść do niej:

 $ hg clone ssh://hg.mozilla.org/releases/l10n/mozilla-aurora/pl tmpdir && cd tmpdir/
 requesting all changes
 adding changesets
 adding manifests
 adding file changes
 added 4578 changesets with 8821 changes to 1376 files (+23 heads)
 updating to branch default
 1067 files updated, 0 files merged, 0 files removed, 0 files unresolved

Następnie pobieramy do klona aurory pobieramy zmiany od ostatniej migracji wrzucone do central:

 $ hg pull -r default ssh://hg.mozilla.org/l10n-central/pl
 pulling from ssh://hg.mozilla.org/l10n-central/pl
 searching for changes
 adding changesets
 adding manifests
 adding file changes
 added 96 changesets with 118 changes to 82 files (+1 heads)
 (run 'hg heads' to see heads, 'hg merge' to merge)

Następnie staramy się połączyć zmiany z central z aurorą - przy odrobinie szczęścia („0 files unresolved”) wygląda to jak poniżej:

 $ hg merge
 merging browser/chrome/browser/browser.dtd
 merging browser/chrome/browser/devtools/toolbox.dtd
 merging dom/chrome/dom/dom.properties
 merging webapprt/webapprt/overrides/dom.properties
 69 files updated, 4 files merged, 19 files removed, 0 files unresolved
 (branch merge, don't forget to commit)

Przeważnie jednak będzie wyglądało to inaczej („4 files unresolved” i „use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon”) i będzie potrzebne dodatkowe polecenie:

 $ hg resolve --tool internal:other --all

Pozostaje zatwierdzić zmiany i wysłać do repozytorium:

 $ hg ci -m "Migrating central to aurora for Firefox 41" && hg push
 pushing to ssh://hg.mozilla.org/releases/l10n/mozilla-aurora/pl
 searching for changes
 remote: adding changesets                        
 remote: adding manifests
 remote: adding file changes
 remote: added 111 changesets with 145 changes to 84 files
 remote: Trying to insert into pushlog.
 remote: Please do not interrupt...
 remote: Inserted into the pushlog db successfully.

Porządek:

 $ cd .. && rm -rf tmpdir
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.