[swift-dev] Policy on the use of clang-format
Omeed Safaee-Rad
admin at beltex.me
Wed Apr 6 10:21:52 CDT 2016
Hi Mark!
> The general policy is no bulk reformatting.
Cool!
> It’s fine to reformat lines that you otherwise change,
Got it!
> There’s a tool called git-clang-format which makes it easy to run clang-format but only touch the lines you’ve already modified.
Awesome, thanks!
Omeed
> On Apr 5, 2016, at 10:52 AM, Mark Lacey <mark.lacey at apple.com> wrote:
>
>
>> On Apr 4, 2016, at 7:18 PM, Omeed Safaee-Rad via swift-dev <swift-dev at swift.org> wrote:
>>
>> Hello Swift! :)
>
> Hi Omeed,
>
>>
>> First off, thank you for the wonderful project!
>>
>> I noticed that a number of C++ files in the Swift compiler could use a pass of clang-format. What is the general policy on this?
>
> The general policy is no bulk reformatting.
>
>> Given that clang-format can be invasive (affecting commit history - `git blame` that is), my understanding is that it’s use is on a case by case basis (if a file has a short history for example). Noticed this reasoning in a recent commit message (d03539c1277f4379d17afb6712bebc2c7ddf789a).
>
> It’s fine to reformat lines that you otherwise change, but as you mention going beyond that can make it more difficult to understand the history in a file.
>
> There’s a tool called git-clang-format which makes it easy to run clang-format but only touch the lines you’ve already modified. It lives in $SWIFT_SOURCE_ROOT/clang/tools/clang-format. By adding that to your PATH, along with having clang-format itself in your path, you are able to reformat the lines you have already changed by doing:
>
> git add files-i-have-changed.cpp
> git clang-format
>
> The result will be unstaged lines with the formatting changes, which you can review with ‘git diff’ before staging those updated lines with ‘git add’.
>
> Mark
>
>
>> If there is interest for such pull request(s), how should they be split up? Per file?
>>
>> Sincerely,
>>
>> Omeed
>> _______________________________________________
>> swift-dev mailing list
>> swift-dev at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-dev
>
More information about the swift-dev
mailing list