And if you use the git driver if you don't want sadness :)

 -- Emilio

On 11/30/18 6:20 PM, Andi-Bogdan Postelnicu wrote:
Hello all,

I’m coming back with a followup email since I don’t think that in the previous 
email we mentioned what is the minimum version that should be used for rebasing.

o  changeset:   501271:bf92aff5b93d
|  tag:         tip
|  fxtree:      central
|  user:        Andi-Bogdan Postelnicu <>
|  date:        Fri Nov 30 14:04:46 2018 +0200
|  summary:     Bug 1511285 - Make 'mach clang-format' more efficient when 
outputting to stdout. r=ehsan, a=aryx
o  changeset:   501270:3acb179a1759
|  user:        Ehsan Akhgari <>
|  date:        Fri Nov 30 06:32:29 2018 -0500
|  summary:     Bug 1511319 - Ensure that tools/clang-tidy/test doesn't get 
reformatted using clang-format; r=sylvestre a=Aryx
o  changeset:   501269:4a8721265f7e
|  user:        Andi-Bogdan Postelnicu <>
|  date:        Fri Nov 30 13:25:44 2018 +0200
|  summary:     Bug 1511181 - Quick fix for .hg-format-source that has an empty 
line. r=ehsan, a=aryx
@  changeset:   501268:6f3709b38781
|  user:        Sylvestre Ledru <>
|  date:        Fri Nov 30 11:46:48 2018 +0100
|  summary:     Bug 1511181 - Reformat everything to the Google coding style 
r=ehsan a=clang-format
o  changeset:   501267:2ac59ec6f8de
|  user:        Sylvestre Ledru <>
|  date:        Fri Nov 30 10:46:09 2018 +0100
|  summary:     Added tag PRE_TREEWIDE_CLANG_FORMAT for changeset 58a0412e1557

We have the above ‘hg log -G’, where we can see that the change-set that 
doesn’t have the format is `2ac59ec6f8de` and the one that introduces the tree 
formatting ‘6f3709b38781’, but after that change-set we did a couple of more 
fixes in order to resolve the fallout of the format.
In conclusion in order to be able to rebase without any issues please use any 
change-set greater than ‘bf92aff5b93d’.

Many thanks,

On 30 Nov 2018, at 16:46, Andi-Bogdan Postelnicu <> wrote:

Hello all

Starting with revision 6f3709b3878117466168c40affa7bca0b60cf75b 
 mozilla-central has been formatted using ./mach clang-format following the Google 
coding style.
In order to diminish as much as possible the effort of merging pre-format 
patches into our newly formatted repo we devised the following plan for the two 
SCMs that we use:


Please make sure you run ‘mach bootstrap’ and allow the install of the 
‘format-source’ extension before pulling the reformat changeset. This extension 
provides a simple and behind-the-curtains way on how you can integrate 
un-formatted code into a formatted repo.
Let’s assume the patch that need rebasing is at rev: 1000 and mozilla-central 
is at rev: 2000.

hg rebase -b 1000 -d 2000

Or in case you want to have a more verbose output:

hg rebase -b 1000 -d 2000 -debug

The extension registers at the merge level and it will format both sides and 
after that uses the original merge tool to combine for the final result.
For more detailed information on the process please also see this <> document.

     Courtesy of Ehsan and Emilio there are two ways that help with the merge:
         Ehsan’s implementation 
         Emilio’s implementation <>
For your convenience, the parent changeset of the reformat changeset has been 
tagged in Mercurial as “PRE_TREEWIDE_CLANG_FORMAT”.  This will allow easily 
updating to that version using the following command for example when rebasing 
local changes:


Hope this transition goes smooth as possible but if something comes up and you 
need assistance please ping Andi on IRC.

Many thanks,
Ehsan, Sylvestre and Andi

dev-platform mailing list

dev-platform mailing list

Reply via email to