[Gluster-devel] Clang-Formatter for GlusterFS.
Ravishankar N
ravishankar at redhat.com
Thu Sep 13 08:55:22 UTC 2018
On 09/12/2018 07:31 PM, Amar Tumballi wrote:
> Top posting:
>
> All is well at the tip of glusterfs master branch now.
>
> We will post a postmortem report of events and what went wrong in this
> activity, later.
>
> With this, Shyam, you can go ahead with release-v5.0 branching.
>
> -Amar
>
> On Wed, Sep 12, 2018 at 6:21 PM, Amar Tumballi <atumball at redhat.com
> <mailto:atumball at redhat.com>> wrote:
>
>
>
> On Wed, Sep 12, 2018 at 5:36 PM, Amar Tumballi
> <atumball at redhat.com <mailto:atumball at redhat.com>> wrote:
>
>
>
> On Mon, Aug 27, 2018 at 8:47 AM, Amar Tumballi
> <atumball at redhat.com <mailto:atumball at redhat.com>> wrote:
>
>
>
> On Wed, Aug 22, 2018 at 12:35 PM, Amar Tumballi
> <atumball at redhat.com <mailto:atumball at redhat.com>> wrote:
>
> Hi All,
>
> Below is an update about the project’s move towards
> using clang-formatter for imposing few coding-standards.
>
> Gluster project, since inception followed certain
> basic coding standard, which was (at that time) easy
> to follow, and easy to review.
>
> Over the time, with inclusion of many more developers
> and working with other communities, as the coding
> standards are different across projects, we got
> different type of code into source. After 11+years,
> now is the time we should be depending on tool for it
> more than ever, and hence we have decided to depend on
> clang-formatter for this.
>
> Below are some highlights of this activity. We expect
> each of you to actively help us in this move, so it is
> smooth for all of us.
>
> * We kickstarted this activity sometime aroundApril
> 2018
> <https://bugzilla.redhat.com/show_bug.cgi?id=1564149>
> * There was a repo created for trying out the
> options, and validating the code.Link to Repo
> <https://github.com/nigelbabu/clang-format-sample>
> * Now, with the latest|.clang-format|file, we have
> made the whole GlusterFS codebase changes.The
> change here <https://github.com/nigelbabu/glusterfs>
> * We will be running regression with the changes,
> multiple times, so we don’t want to miss something
> getting in without our notice.
> * As it is a very big change (Almost 6 lakh lines
> changed), we will not put this commit through
> gerrit, but directly pushing to the repo.
> * Once this patch gets in (ETA: 28th August), all
> the pending patches needs to go through rebase.
>
>
> All, as Shyam has proposed to change the branch out date
> for release-5.0 as Sept 10th [1], we are now targeting
> Sept 7th for this activity.
>
>
> We are finally Done!
>
> We delayed in by another 4 days to make sure we pass the
> regression properly with clang changes, and it doesn't break
> anything.
>
> Also note, from now, it is always better to format the changes
> with below command before committing.
>
> sh$ cd glusterfs-git-repo/
> sh$ clang-format -i $(list_of_files_changed)
> sh$ git commit # and usual steps to publish your changes.
>
> Also note, all the changes which were present earlier, needs
> to be rebased with clang-format too.
>
> One of the quick and dirty way to get your changes rebased in
> the case if your patch is significantly large, is by applying
> the patches on top of the commit before the clang-changes, and
> copy the files over, and run clang-format -i on them, and
> checking the diff. As no code other coding style changes
> happened, this should work fine.
>
> Please post if you have any concerns.
>
What rules does clang impose on function/argument wrapping and
alignment? I somehow found the new code wrapping to be random and highly
unreadable. An example of 'before and after' the clang format patches
went in: https://paste.fedoraproject.org/paste/dC~aRCzYgliqucGYIzxPrQ
Wondering if this is just me or is it some problem of spurious clang fixes.
Regards,
Ravi
>
>
> Noticed some glitches! Stand with us till we handle the situation...
>
> meantime, found that below command for git am works better for
> applying smaller patches:
>
> $ git am --ignore-whitespace --ignore-space-change --reject
> 0001-patch
> -Amar
>
> Regards,
> Amar
>
> [1] -
> https://lists.gluster.org/pipermail/gluster-devel/2018-August/055308.html
> <https://lists.gluster.org/pipermail/gluster-devel/2018-August/055308.html>
>
> What are the next steps:
>
> * Thepatch
> <https://review.gluster.org/#/c/glusterfs/+/20892>of
> adding|.clang-format|file will get in first
> * Nigel/Infra team will be keepingthe repo
> <https://github.com/nigelbabu/glusterfs>with all
> files changed open for review till EOD 27th
> August, 2018
>
> This changes to 05th Sept, 2018
>
> * Upon passing regression, we will push this one
> change to main branch.
> * After that, we will have a smoke job to validate
> the coding standard as per the|.clang-format|file,
> which will vote -1 if it is not meeting the standard.
> * There will be guidelines about how to setup your
> own .clang-format setup, so while sending the
> patch, it gets posted in proper format
> o This will be provided for
> both|./rfc.sh|and|git review|users.
> * Having clang-formatter installed would be still
> optional, but there would be high chance the smoke
> would fail if not formatted right.
>
> Any future changes to coding standard, due to
> improvements in clang-format tool itself, or due to
> developers believing some other option is better
> suited, can be getting in through gerrit.
>
> Also note that, we will not be applying the changes
> to|contrib/|directory, as that is expected to be same
> as corresponding upstream coding standard of
> particular project. We believe that helps to make sure
> we can quickly check the diff with corresponding
> changes really easily.
>
> Happy to hear any feedback!
>
> Regards,
> Amar (on behalf of many Gluster Maintainers)
>
>
>
>
>
>
> --
> Amar Tumballi (amarts)
>
>
>
>
> --
> Amar Tumballi (amarts)
>
>
>
>
> --
> Amar Tumballi (amarts)
>
>
>
>
> --
> Amar Tumballi (amarts)
>
>
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> https://lists.gluster.org/mailman/listinfo/gluster-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gluster.org/pipermail/gluster-devel/attachments/20180913/7415ef3f/attachment-0001.html>
More information about the Gluster-devel
mailing list