[PATCH] D101878: [git-clang-format] Do not apply clang-format to symlinks
Pirama Arumuga Nainar via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue May 11 10:35:04 PDT 2021
This revision was automatically updated to reflect the committed changes.
Closed by commit rG0fd0a010a1ed: [git-clang-format] Do not apply clang-format to symlinks (authored by pirama).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D101878/new/
https://reviews.llvm.org/D101878
Files:
clang/docs/ReleaseNotes.rst
clang/tools/clang-format/git-clang-format
Index: clang/tools/clang-format/git-clang-format
===================================================================
--- clang/tools/clang-format/git-clang-format
+++ clang/tools/clang-format/git-clang-format
@@ -137,10 +137,15 @@
if opts.verbose >= 1:
ignored_files = set(changed_lines)
filter_by_extension(changed_lines, opts.extensions.lower().split(','))
+ # The computed diff outputs absolute paths, so we must cd before accessing
+ # those files.
+ cd_to_toplevel()
+ filter_symlinks(changed_lines)
if opts.verbose >= 1:
ignored_files.difference_update(changed_lines)
if ignored_files:
- print('Ignoring changes in the following files (wrong extension):')
+ print(
+ 'Ignoring changes in the following files (wrong extension or symlink):')
for filename in ignored_files:
print(' %s' % filename)
if changed_lines:
@@ -151,9 +156,6 @@
if opts.verbose >= 0:
print('no modified files to format')
return
- # The computed diff outputs absolute paths, so we must cd before accessing
- # those files.
- cd_to_toplevel()
if len(commits) > 1:
old_tree = commits[1]
new_tree = run_clang_format_and_save_to_tree(changed_lines,
@@ -337,6 +339,13 @@
del dictionary[filename]
+def filter_symlinks(dictionary):
+ """Delete every key in `dictionary` that is a symlink."""
+ for filename in list(dictionary.keys()):
+ if os.path.islink(filename):
+ del dictionary[filename]
+
+
def cd_to_toplevel():
"""Change to the top level of the git repository."""
toplevel = run('git', 'rev-parse', '--show-toplevel')
Index: clang/docs/ReleaseNotes.rst
===================================================================
--- clang/docs/ReleaseNotes.rst
+++ clang/docs/ReleaseNotes.rst
@@ -244,6 +244,9 @@
accepts ``AllIfsAndElse`` value that allows to put "else if" and "else" short
statements on a single line. (Fixes https://llvm.org/PR50019.)
+- ``git-clang-format`` no longer formats changes to symbolic links. (Fixes
+ https://llvm.org/PR46992.)
+
libclang
--------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D101878.344472.patch
Type: text/x-patch
Size: 2091 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20210511/63be95df/attachment-0001.bin>
More information about the cfe-commits
mailing list