# Define your editor for commits, other tools
$ git config --global core.editor vim
= Android Sync =
You should carefully read the previous sections on Git and landing patches on services-central.
For the moment we assume that you have a working checkout of [http://github.com/mozilla-services/android-sync android-sync]. The rudiments of landing code are this:
<pre>
AS=~/moz/git/android-sync
SC=~/moz/hg/services-central
# In your services-central checkout, create a new patch.
# Ensure that you're correctly carrying over the author from the Git commit.
cd $SC
hg qnew -m "Bug 123456 - Part 1: frob the noo. r=foobar, a=blocking-fennec" --user "John Smith <theauthor@foo.com>" frob-noo
# For each merged piece of work that you'd like to land...
# Ensure you're on the correct git branch. That's typically develop, or an
# ancestor thereof if you've merged multiple feature branches since your last landing.
cd $AS
git checkout develop
# Run the appropriate copy-code script, targeting the correct upstream hg repository.
ANDROID=$SC/mobile/android SYNC=$SC/mobile/android/sync ./fennec-copy-code.sh
# Refresh the patch, adding and removing any files.
cd $SC
hg st
hg add any-missing-files.java
hg rm anything-removed.java
hg qref
# Check that the patch is what you want to commit.
# You are responsible for anything that you land in the tree,
# so it behooves you to make sure you get this right.
less .hg/patches/frob-noo
# Ensure that everything builds.
make -sj4 -C objdir-droid
# And runs...
make -C objdir-droid package
adb install -r objdir-droid/dist/fennec-15.0a1.en-US.android-arm.apk
</pre>
Now follow the steps for a regular services-central landing.
This is all eminently scriptable, of course.
= Repositories =