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?

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

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

Reply via email to