[llvm] [CI][format] Explicitly pass extensions to git-clang-format (take 2) (PR #98227)
Louis Dionne via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 10 09:20:28 PDT 2024
https://github.com/ldionne updated https://github.com/llvm/llvm-project/pull/98227
>From 83303669098fc96c283073e49afaeabd41a9f283 Mon Sep 17 00:00:00 2001
From: Louis Dionne <ldionne.2 at gmail.com>
Date: Wed, 10 Jul 2024 12:19:17 -0400
Subject: [PATCH] [CI][format] Explicitly pass extensions to git-clang-format
(take 2)
This is a second attempt to land 7620fe0, which was reverted in 9572388
because it caused formatting not to be enforced for several patches.
---
llvm/utils/git/code-format-helper.py | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/llvm/utils/git/code-format-helper.py b/llvm/utils/git/code-format-helper.py
index f1207026704e8..26b5ce250bb7a 100755
--- a/llvm/utils/git/code-format-helper.py
+++ b/llvm/utils/git/code-format-helper.py
@@ -216,6 +216,17 @@ def format_run(self, changed_files: List[str], args: FormatArgs) -> Optional[str
cf_cmd.append(args.start_rev)
cf_cmd.append(args.end_rev)
+ # Gather the extension of all modified files and pass them explicitly to git-clang-format.
+ # This prevents git-clang-format from applying its own filtering rules on top of ours.
+ extensions = set()
+ for file in cpp_files:
+ _, ext = os.path.splitext(file)
+ extensions.add(
+ ext.strip(".")
+ ) # Exclude periods since git-clang-format takes extensions without them
+ cf_cmd.append("--extensions")
+ cf_cmd.append(",".join(extensions))
+
cf_cmd.append("--")
cf_cmd += cpp_files
More information about the llvm-commits
mailing list