Some helpful commands for using mercurial with Mozilla Central
hg pull
Get newest revisions. mozilla-central changes a lot, so this needs to be done at least daily and before any work is started
hg update
hg wip
Shows a nice graph of your revisions vs the revisions from central. Shows whether you need to rebase
hg status
Shows all files you have changed but not committed
hg status --rev central
https://stackoverflow.com/questions/8734817/mercurial-generate-file-name-only-diff
Shows all files you have committed (or not commited) that are different from central. I.e. it can show you all the files in your patch at once if you’ve made several revisions
hg commit m "commit message"
mercurial does not have staging. Straight to commit.
hg rebase central
Make sure all your stuff is committed first
hg shelve
https://www.markheath.net/post/git-stash-for-mercurial-users
If you don’t want to commit the current changes
hg histedit <rev>
https://www.mercurial-scm.org/wiki/HisteditExtension
To squash and/or rename commits
Final commit message format:Bug 577872 - Create WebM versions of Ogg reftests. r=kinetik
You may also want to change your default editor (unless you like using vi or vim). You can do that by adding an evironment variable:export HGEDITOR=<your favorite editor>
hg revert <filename>
To remove changes to a given file
hg diff -r central
To show changes since central (all commits)
hg update -r <rev>
To change to a different rev
hg parent
If you get lost in your revisions–to show which you are on.
Tests to run:
./mach lint -l eslint -o
./mach lint -l wpt -l wpt_manifest -o
./mach mochitest browser/components/preferences/in-content/tests/
Run the relevant folder here. All Mochitests will take a long time to run.