On 08/10/2012 01:02 PM, Rohit Yadav wrote:
Hi,

On 10-Aug-2012, at 3:29 PM, Wido den Hollander <w...@widodh.nl> wrote:

Hi,

Most of the documentation (/docs) currently uses tabs instead of 4 spaces.

Do we want to use tabs or 4 spaces here?

Good point Wido! I was going to email about this earlier but thought no would 
care.

So, we should follow coding conventions seriously: 
http://docs.cloudstack.org/CloudStack_Documentation/Design_Documents/Coding_Conventions

Use space; 1 tab = 4 spaces, in /docs and throughout the source code. I tried a 
git filter that replaces all tabs to spaces, the patch was around 8-9MB so 
dropped the idea.


I did it for the agent directory a while ago. We should just do this directory per directory, but announce it, so we don't screw up local branches of people.

We can define [0] clean (when files are staged) and smudge (applied on 
checkout) filters in git to expand tabs to spaces: [1]

Add in file .git/info/attributes:
*.java  filter=tabspace

Set git vars:
git config --global filter.tabspace.smudge 'expand -t 4'
git config --global filter.tabspace.clean 'expand -t 4'

Checkout HEAD to apply smudge/expand tabs:
git checkout HEAD -- **

We should also handle trailing whitespaces [2], CRLF and sign-off our patches.
May be we should create and use a check-patch script [3] like GNU/Linux 
committers do?


I agree on signing off, but a check-patch script would be hard in this stage. Everything goes so rapid at this point that there is no way we get everybody to use that script.

A commit hook was also 'denied' by Apache infra since that could use to much CPU power (iirc).

I would vote for doing this replace in the docs directory, that has been rather quite and can be done safely I think.

Wido

Refs:
[0] http://git-scm.com/book/ch7-2.html
[1] 
http://stackoverflow.com/questions/2316677/can-git-automatically-switch-between-spaces-and-tabs/
[2] http://snipplr.com/view/28523/git-precommit-hook-to-fix-trailing-whitespace/
[3] 
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=tree;f=scripts;h=6c1b648550f84d4af8d66d31a635db990d71e5ca;hb=f4ba394c1b02e7fc2179fda8d3941a5b3b65efb6

Regards,
Rohit



Wido

Reply via email to