sridhar_gopinath marked 3 inline comments as done.
sridhar_gopinath added inline comments.


================
Comment at: clang/tools/clang-format/git-clang-format:201
   if opts.diff:
-    print_diff(old_tree, new_tree)
-  elif opts.diffstat:
-    print_diffstat(old_tree, new_tree)
-  else:
-    changed_files = apply_changes(old_tree, new_tree, force=opts.force,
-                                  patch_mode=opts.patch)
-    if (opts.verbose >= 0 and not opts.patch) or opts.verbose >= 1:
-      print('changed files:')
-      for filename in changed_files:
-        print('    %s' % filename)
+    return print_diff(old_tree, new_tree)
+  if opts.diffstat:
----------------
owenpan wrote:
> Actually, doesn't line 175 make sure it will return 0 if there is no diff? 
> Can you open an issue at https://github.com/llvm/llvm-project/issues and give 
> an example where this isn't true?
Created https://github.com/llvm/llvm-project/issues/56736

Line 175 is only checking if there are any relevant files that have been 
modified. There is an option to only consider a subset of changed files. So 
this line is checking if there are any changed lines after filtering the 
relevant files. Then, the tool generates a new git tree for the relevant 
changes after running clang-format. Line 198 is checking if the old and the new 
git trees are the same git hashes. When there are code changes, these two 
hashes won't be the same and we won't hit this case too. Finally, the actual 
formatting changes are checked by running git diff in line 201. This function 
call will define the exit code of the program. Currently, that's not being 
accounted for and the tool always returns 1 after reaching this point.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129311/new/

https://reviews.llvm.org/D129311

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to