[PATCH] D129311: [clang-format] Update return code
Sridhar Gopinath via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Jul 7 11:25:19 PDT 2022
sridhar_gopinath created this revision.
sridhar_gopinath added reviewers: curdeius, owenpan.
Herald added a project: All.
sridhar_gopinath requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
In diff and diffstat modes, the return code is != 0 even when there are no
changes between commits. This issue can be fixed by passing `--exit-code` to
`git diff` command that returns 0 when there are no changes and using that as
the return code for clang-format.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D129311
Files:
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
@@ -198,9 +198,9 @@
return 0
if opts.diff:
- print_diff(old_tree, new_tree)
+ return print_diff(old_tree, new_tree)
elif opts.diffstat:
- print_diffstat(old_tree, new_tree)
+ return print_diffstat(old_tree, new_tree)
else:
changed_files = apply_changes(old_tree, new_tree, force=opts.force,
patch_mode=opts.patch)
@@ -209,7 +209,7 @@
for filename in changed_files:
print(' %s' % filename)
- return 1
+ return 1
def load_git_config(non_string_options=None):
@@ -536,8 +536,8 @@
# We also only print modified files since `new_tree` only contains the files
# that were modified, so unmodified files would show as deleted without the
# filter.
- subprocess.check_call(['git', 'diff', '--diff-filter=M', old_tree, new_tree,
- '--'])
+ subprocess.check_call(['git', 'diff', '--diff-filter=M',
+ old_tree, new_tree, '--exit-code', '--'])
def print_diffstat(old_tree, new_tree):
"""Print the diffstat between the two trees to stdout."""
@@ -548,7 +548,13 @@
# We also only print modified files since `new_tree` only contains the files
# that were modified, so unmodified files would show as deleted without the
# filter.
- subprocess.check_call(['git', 'diff', '--diff-filter=M', '--stat', old_tree, new_tree,
+ subprocess.check_call(['git',
+ 'diff',
+ '--diff-filter=M',
+ '--stat',
+ old_tree,
+ new_tree,
+ '--exit-code',
'--'])
def apply_changes(old_tree, new_tree, force=False, patch_mode=False):
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D129311.443000.patch
Type: text/x-patch
Size: 1950 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220707/3941b9d2/attachment.bin>
More information about the cfe-commits
mailing list