Hello all
Starting with revision 6f3709b3878117466168c40affa7bca0b60cf75b
<https://hg.mozilla.org/mozilla-central/rev/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:
Mercurial
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.
Example
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
<https://docs.google.com/document/d/13AwAsvKMhH0mflDlfatBqn6LmZHiQih76oxM4zfrPl4/edit?usp=drive_web&ouid=110354964518198126513>
document.
Git
Courtesy of Ehsan and Emilio there are two ways that help with the merge:
Ehsan’s implementation
<https://github.com/ehsan/clang-format-reformat-branch>
Emilio’s implementation <https://github.com/emilio/clang-format-merge>
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:
hg up -r PRE_TREEWIDE_CLANG_FORMAT
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
[email protected]
https://lists.mozilla.org/listinfo/dev-platform