<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Hey,</p>
<p>your task sounds like a "clang-tidy-diff.py" integration into
git?</p>
<p>-
<a class="moz-txt-link-freetext" href="https://github.com/llvm-mirror/clang-tools-extra/blob/master/clang-tidy/tool/clang-tidy-diff.py">https://github.com/llvm-mirror/clang-tools-extra/blob/master/clang-tidy/tool/clang-tidy-diff.py</a><br>
- <a class="moz-txt-link-freetext" href="https://reviews.llvm.org/D57662">https://reviews.llvm.org/D57662</a> (parallelizing it was done as
well).</p>
<p>Do you think that suits your needs?</p>
<p>Best Regards,<br>
Jonas<br>
</p>
<div class="moz-cite-prefix">Am 21.06.19 um 04:31 schrieb Don Hinton
via cfe-dev:<br>
</div>
<blockquote type="cite"
cite="mid:CAL2T-v7YODQURUUQsnH7W3GVcBGztRKLhw1H56dk-SaxhGFvYg@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">Btw, the motivation for this custom command is to
make it easy to apply a set of clang-tidy checks to just the
files in your change set, and no others.
<div><br>
</div>
<div>Obviously, checks that change symbol names wouldn't be
appropriate for targeted sets like this, so I'm mainly looking
to apply the current llvm* ones to start with. And since it
accepts a checks= argument and respects the .clang-tidy file,
I'm hoping it will be generally useful.</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu, Jun 20, 2019 at 6:54
PM Don Hinton <<a href="mailto:hintonda@gmail.com"
moz-do-not-send="true">hintonda@gmail.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">I'd like to drive run-clang-tidy.py from a git
custom command, e.g.:
<div><br>
</div>
<div> $ git clang-tidy <commit> [-fix-errors]
[etc...]</div>
<div><br>
</div>
<div>And pass the all the files in the diff, with headers
going in '-header-filter='. This works great for small
diffs -- I'm using `git diff -name-only` under the hood to
get the list of files -- but large diffs will inevitably
generate extremely long command lines.</div>
<div><br>
</div>
<div>Since clang-tidy can read @response-files, I figure I
could just create my super long command line and pass it
through, which would require a small change to
run-clang-tidy.py. run-clang-tidy.py could then create
individual @respone-files for each clang-tidy instance as
needed -- in case the number of headers is large. To
work, each instance would need the complete list of
headers in the diff.</div>
<div><br>
</div>
<div>But, before I go off and start hacking it up, I just
wanted to see if anyone had a better idea. I guess I'll
have the pass the file name to python as just a regular
option, since the @file notation doesn't seem to be
present, but I'm no python expert.</div>
<div><br>
</div>
<div>Btw, I have a working prototype, loosely based on
git-clang-format, which can call either clang-tidy
directly in a loop, or pass the entire list to
run-clang-tidy.py which can do it in parallel.</div>
<div><br>
</div>
<div>thanks...</div>
<div>don</div>
</div>
</blockquote>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
cfe-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a>
</pre>
</blockquote>
</body>
</html>