Stripping ALL tabs from the code

Jan Parcel 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 :)
>
> Bron.
>



More information about the Cyrus-devel mailing list