Commit Graph

11 Commits

Author SHA1 Message Date
Eric Fiselier c85fce8583 Fix Python 2 vs 3 incompatability with dict.items() vs iteritems()
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@300895 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-20 21:23:58 +00:00
Eric Fiselier 63cd813278 Begin making git-clang-format python3 compatible.
This patch fixes most of the python3 incompatabilities
within git-clang-format while keeping the script python2 compatible.
There is still one remaining incompatability that prevents using Python3
which is the `str` vs `byte` type change. I plan to put those fixes
up for review separately.

This patch contains fixes for the following incompatabilities:

1) Use the new style Python3 `print` function. This requires importing
   __future__.print_function.

2) Fix incompatability between the Python3 octal prefix and the
   octal prefix Git uses.

3) Replace use of dict.iteritems() with dict.viewitems() because iteritems()
   has been removed in Python3. viewitems() reviews python 2.7 but that is
   also what the script is documented as requiring.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@300891 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-20 21:05:58 +00:00
Stephen Hines f092121b2d clang-format: Use git-ls-tree to get file mode in diff mode
Summary:
If a file has been renamed/deleted from the filesystem and --diff mode
with two commits is active, attempting to get the file's mode will fail.
This change uses git-ls-tree instead to get the correct permissions for
the given revision.

Patch by Luis Hector Chavez!

Reviewers: djasper, lodato

Subscribers: srhines, cfe-commits

Differential Revision: https://reviews.llvm.org/D26287

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286212 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-08 05:50:14 +00:00
Stephen Hines d43e9cc8e4 clang-format: Add an option to git-clang-format to diff between to commits
Summary:
When building pre-upload hooks using git-clang-format, it is useful to limit the scope to a diff of two commits (instead of from a commit against the working tree) to allow for less false positives in dependent commits.

This change adds the option of specifying two git commits to git-clang-format when using the `--diff` flag, which uses a different strategy to diff (using `git-diff-tree` instead of `git-diff-index`), and runs clang-format against the second commit instead of the working directory.

There is a slight backwards-incompatibility introduced with this change: if a filename matches a branch name or other commit-ish, then `git clang-format <commit> <file>` will no longer work as expected; use `git clang-format <commit> -- <file>` instead.

Patch by Luis Hector Chavez!

Reviewers: djasper, lodato

Subscribers: lodato, cfe-commits, srhines

Projects: #clang-c

Differential Revision: https://reviews.llvm.org/D24319

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@282136 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-22 05:52:55 +00:00
Stephen Hines 552e0fbb12 clang-format: Add Java detection to git-clang-format.
Summary: This change adds "java" to the list of known extensions that clang-format supports.

Patch by Luis Hector Chavez

Reviewers: djasper

Subscribers: srhines, cfe-commits

Differential Revision: https://reviews.llvm.org/D24401

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@281294 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-13 05:00:20 +00:00
Daniel Jasper 61123f5d3d clang-format: Add TypeScript detection to git-clang-format.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@240128 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-19 08:23:10 +00:00
Ed Schouten 6fb7b46f37 Use /usr/bin/env python instead of /usr/bin/python.
On operating systems like the BSDs, it is typically the case that
/usr/bin/python does not exist. We should therefore use /usr/bin/env
instead. This is also done in various other scripts in tools/.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@216945 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-02 20:59:13 +00:00
Daniel Jasper 964126927a clang-format: Add proto files and JavaScript to git-clang-format.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@205842 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-09 09:22:35 +00:00
Daniel Jasper 65e2b74344 Simplify git-clang-format by using new -lines option.
Patch by Mark Lodato. Thank you!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187592 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-01 18:17:13 +00:00
Daniel Jasper aad1422fa1 Fix ranges computed by git clang-format.
Before, the computed byte range would include the trailing newline.
clang-format on the other hand counts whitespace as belonging to the
following token, so that git-clang-format inadvertendly reformats the
first unmodified line as well.

It is not entirely clear whether clang-format's behavior itself should
be modified, but for now this seems to be a safe change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185423 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-02 13:20:35 +00:00
Daniel Jasper 4507a2cc6f clang-format integration for git.
Put this somewhere on your path and use:

git clang-format

Awesome work by Mark Lodato. Many thanks!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182596 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-23 17:53:42 +00:00