On 4 Jul 2015, at 17:06, Erik Schnetter <[email protected]> wrote:

> On Sat, Jul 4, 2015 at 10:30 AM, Ian Hinder <[email protected]> wrote:
> 
> On 3 Jul 2015, at 23:33, Erik Schnetter <[email protected]> wrote:
> 
>> I've come to like to use a tool to automatically indent and format source 
>> code. This has several advantages -- the code has automatically a consistent 
>> style, indentation errors become obvious, and one doesn't have to spend time 
>> formatting the code manually while coding.
>> 
>> clang-format is the best such tool of which I'm aware. It's vastly better 
>> than e.g. GNU indent.
>> 
>> I propose to re-format Carpet's source code via clang-format.
>> 
>> Usually, changing the source code format is disruptive, since patches or 
>> local modifications won't apply cleanly any more. However, with 
>> clang-format, I don't think that this is an issue -- one can use 
>> clang-format on the modified code (e.g. a branch), which should eliminate 
>> gratuitous changes.
>> 
>> Please comment.
> 
> Suppose that I have a local branch with a number of commits (I do).  If I 
> want to cherry-pick something from the new reformatted master, I could add a 
> new commit to my branch which reformats everything, and cherry-picking would 
> hopefully then be possible.  To rebase my branch off of the reformatted 
> master, I would probably have to rebase it off the commit in master before 
> the reformat, then apply the reformatting myself, then rebase again of the 
> new master.  So apart from the amount of git-gymnastics needed to do this, it 
> seems OK.  More serious would be the utter impossibility of diffing formaline 
> tarballs across the change and identifying the real differences.
> 
> I hope it doesn't need to be said, but any commits which introduce 
> reformatting should be clearly labeled as such, and should not introduce any 
> other changes, as these will be lost during a rebase in which formatting 
> commits are skipped and formatting run again.
> 
> With the above considerations, is it worth doing this?
> 
> Yes, it definitively is. Not having to worry about indentation and formatting 
> while coding frees the mind; it is a transformative experience.

I just press TAB in emacs to make sure the indentation is correct; it's not 
something I ever really think about.  After reading Roland's email, I'm more 
and more concerned that a large-scale reformatting of an existing codebase with 
several branches owned by different people is going to cause a fair amount of 
pain.  For a new project, I would definitely use such a system, and when new 
code is added to an existing project, but I'm not sure it's worth the trouble 
it will cause for Carpet.

-- 
Ian Hinder
http://members.aei.mpg.de/ianhin

_______________________________________________
Users mailing list
[email protected]
http://lists.einsteintoolkit.org/mailman/listinfo/users

Reply via email to