-
Notifications
You must be signed in to change notification settings - Fork 0
Mozilla Migracje
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.
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
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