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
