Stripping ALL tabs from the code
jan.parcel at oracle.com
Mon Jun 15 01:55:14 EDT 2015
On 6/14/15 5:48 PM, Bron Gondwana wrote:
> On Tue, Jun 9, 2015, at 08:42 PM, Bron Gondwana wrote:
>> The big news from yesterday's meeting is that we are going to check in a single massive commit which strips all leading tabs from the code, everywhere. The new coding standard is 4 spaces for each level of indent, and spaces for all alignment within code as well.
Does this apply to cyrus-sasl 2.1.26? Or just the latest post-26 tip?
Or only to imap?
>> I've pushed a small perl script to master which performs the necessary surgery. it has the smarts to know when a tab isn't on a multiple-of-8 boundary and substitute fewer spaces.
>> The code still builds and passes tests afterwards, so I'm pretty sure it's good.
>> I will be running the on master on June 14th (Sunday) night Melbourne time. That's weekend for everyone, everywhere in the world. I will immediately push the result back to master (after running the tests again of course).
>> If you have a patch series lying around that you want to apply, it might be a good idea to do it before then! Alternatively, you can patch with -l or --ignore-whitespace to apply your patches to the tree, and then run tools/remove-tabs.pl on the resulting tree to remove the tabs again.
>> Enjoy your new, simpler coding style with no trailing whitespace left!
> This has been done - I didn't quite finish the instructions last night, so I did the work this morning.
> The commits themselves tell you this as well, but just in case anyone has old git branches lying around:
> If you have a branch which you want to convert all the commits
> into the new spacing style for easy rebase/cherry-pick, then
> you can run:
> 1) git checkout <mybranch>
> 2) git rebase pretab
> 3) git filter-branch --tree-filter tools/remove-tabs.pl pretab^..HEAD
> 4) git rebase posttab
> NOTE the "pretab^". It is very important that you keep the ^ so that
> this commit is the one that collects all the whitespace changes.
> This will rewrite all the commits on your branch to the new whitespace
> style and then rebase it on top of the posttab commit. Since the
> empty pretab commit will be rewritten to match posttab exactly by the
> filter-branch process, the rebase will be clean and will skip the
> pretab commit.
> NOTE: you may need to make fixes at step 2 if your branch is old and
> won't rebase cleanly on top of pretab. Step 3 is noisy and slow, but
> should always run correctly.
> And that's that! Enjoy your new tab-free world :)
More information about the Cyrus-devel