Closed Bug 1005235 Opened 10 years ago Closed 9 years ago

Transplant tool (Hg to Hg) for sheriffs


(Release Engineering :: General, defect)

Not set


(Not tracked)



(Reporter: armenzg, Assigned: gmiroshnykov)


(Blocks 1 open bug)


      No description provided.
Blocks: 997674
These notes were taken and will need some editing to make sense:
The idea here is to create an internal service (available to a small set of people + some automated tools later) that takes as input something like:

- Source repo
- Source revision(s) (a range of revisions would be useful, I think)
- Destination repo

This transplant tool will then transplant the specified commits onto the destination repository at the tip of the default branch.

If the revisions can't be transplanted automatically (due to merge conflicts, for example), the service should return an error.
The transplant tool won't help with landing patches from bugzilla directly onto hg. It's meant to take revisions from one hg repo and transplant them onto another, e.g. for uplifts, or for taking successful try pushes and landing them on inbound.
OS: Windows 8.1 → All
Hardware: x86_64 → All
Let me know if you were looking for victims to eat this dogfood.  I'm very hungry.  :-)
Summary: Transplant tool (Hg to Hg) → Transplant tool (Hg to Hg) for sheriffs
Blocks: 1017736
The latest version of the tool is available here:

It is configured to allow transplants from mozilla-central-test to mozilla-aurora-test.
Those repositories are clones of corresponding production repositories for testing purposes.

Here's how you can try it out:

0. If you haven’t done this yet, please send me your SSH public key to gain access to test repositories.
1. Clone mozilla-central and mozilla-aurora (the real ones) locally.
2. Add the following path to mozilla-central/.hg/hgrc:
transplant = ssh://
3. Add the following path to mozilla-aurora/.hg/hgrc
transplant = ssh://
4. For both repositories, pull from default and push to transplant.
(the above steps won’t be necessary when transplant tool will be in production, it is only to keep test repositories in sync with the real ones)
5. Find the commit you want transplanted from m-c to m-a.
6. Go to
7. Select source and destination repositories (not many options there yet).
8. Put the commit ID you found on step 5 into the corresponding field.
9. Optionally, change the commit message.
10. Hit "Transplant" button and hope for the best :)

The source code is available here:
Blocks: 910028
Blocks: 1043010
Depends on: 1070119
Depends on: 1070121
Assignee: catlee → gmiroshnykov
Closed: 9 years ago
Resolution: --- → INCOMPLETE
Component: Tools → General
You need to log in before you can comment on or make changes to this bug.