On Mon, Aug 14, 2017 at 02:30:44PM -0700, Brandon Williams wrote:
> Changes in v2:
> * Changed a couple rules to be more inline with our coding style.
> * Added a Makefile build rule to run git-clang-format on the diff of the
> working tree to suggest style changes.
>
> I found that the llvm project also has the git-clang-format tool which will
> allow for doing formating changes based on diffs so that the parts of the code
> you didn't touch won't be formated. It also has a nice '-p' option to only
> apply hunks of suggested changes. I also saw what Ramsay did and attempted to
> add a Makefile rule to run clang-format. This bit may need more tweaking to
> get it right.
One more oddity I found while playing with this that Git folks might run
into:
$ git init tmp && cd tmp
$ git commit --allow-empty -m foo
$ echo "[mysection]mykey" >>.git/config
$ git clang-format-5.0
Traceback (most recent call last):
File "/usr/bin/git-clang-format-5.0", line 579, in <module>
main()
File "/usr/bin/git-clang-format-5.0", line 62, in main
config = load_git_config()
File "/usr/bin/git-clang-format-5.0", line 194, in load_git_config
name, value = entry.split('\n', 1)
ValueError: need more than 1 value to unpack
$ sed -i 's/mykey/&=true/' .git/config
$ git clang-format-5.0
no modified files to format
So it looks like they do their own config parsing and it's not quite
compatible. :(
That's not the end of the world, and something we can try to fix
upstream. I just wanted to mention it here so other people don't waste
time trying to track down the problem.
-Peff