CloudServices/Sync/FxSync/WarOnSpinningEventLoop

From MozillaWiki
< CloudServices‎ | Sync‎ | FxSync
Revision as of 03:14, 21 April 2011 by Rnewman (talk | contribs) (→‎Git)
Jump to navigation Jump to search

Project branch

Mercurial

We have the project branch Alder until 2011-07-30:

https://wiki.mozilla.org/ReleaseEngineering/DisposableProjectBranches#BOOKING_SCHEDULE

This will give us tbpl and such. Hooray!

Cloning from your local s-c (much faster this way!):

 hg clone services-central alder
 # You'll need >| if you're using zsh.
 echo "[paths]\ndefault = ssh://hg.mozilla.org/projects/alder" > alder/.hg/hgrc
 echo "sc = ssh://hg.mozilla.org/services/services-central" >> alder/.hg/hgrc
 cd alder
 hg pull -u

Now you have an hg repo from which you can

 hg pull -u

to update from alder, and

 hg pull -u sc

to update from mainline s-c.

Git

We do our work in Git because it sucks less.

Cloning:

 # Ask me (rnewman) to add you as a collaborator on GitHub, or 
 # fork my repo and clone your fork.
 cd wherever
 git clone git@github.com:rnewman/mozilla-central.git
 cd mozilla-central
 git remote add doublec https://github.com/doublec/mozilla-central.git

Now you have a git mirror of my mozilla-central repo, with a remote for doublec's automatically-updated version.

Now we can link to alder. This is a two-step process:

  • Install hg-git.
  • Simply hg push and pull to the git repository directory.

You'll need these lines in your ~/.hgrc:

 [extensions]
 hgext.bookmarks =
 hggit =

Assuming that alder is ahead of your m-c git repo (if not, pull first):

 cd alder
 hg push ../../git/mozilla-central

The first time you do this, hg-git needs to create a bunch of files in `.hg`. This takes a long time. You might want to leave this up to the Merge Viking (rnewman), and simply do all of your work in git. Or leave this running overnight!