Hi Junio, Since you mentioned you prefer wholesale replacement patches, here's a reroll. I dropped the trailing '\' in the log messages and we also drop the 4th patch since Szeder reported that it was causing problems for the CI. --- Changes since v1: * Used spatch with sed instead of sed alone * Fixed sed expression to ignore function variables Changes since v2: * Rebased on latest master (since last patchset hasn't been picked up yet) * Manually aligned parameter lists that were mangled by the tools Changes since v3: * Excluded compat/ from cleanup Changes since v4: * Dropped trailing '\' from log messages * Dropped "cocci: prevent extern function declarations" Denton Liu (3): *.[ch]: remove extern from function declarations using spatch *.[ch]: remove extern from function declarations using sed *.[ch]: manually align parameter lists advice.h | 2 +- archive.h | 24 +-- bisect.h | 26 +-- blame.h | 2 +- branch.h | 14 +- builtin.h | 254 +++++++++++++------------- bulk-checkin.h | 10 +- cache.h | 386 +++++++++++++++++++-------------------- checkout.h | 6 +- column.h | 16 +- commit.h | 116 ++++++------ config.h | 226 +++++++++++------------ connect.h | 22 +-- csum-file.h | 20 +- decorate.h | 4 +- delta.h | 14 +- dir.h | 144 +++++++-------- exec-cmd.h | 16 +- fmt-merge-msg.h | 2 +- fsmonitor.h | 14 +- gettext.h | 8 +- git-compat-util.h | 132 ++++++------- grep.h | 22 +-- hashmap.h | 30 +-- help.h | 36 ++-- http.h | 62 +++---- khash.h | 16 +- kwset.h | 10 +- line-log.h | 16 +- lockfile.h | 12 +- ls-refs.h | 4 +- mailinfo.h | 6 +- merge-blobs.h | 6 +- object-store.h | 32 ++-- object.h | 12 +- oidmap.h | 12 +- pack.h | 26 +-- packfile.h | 82 ++++----- path.h | 42 ++--- pkt-line.h | 10 +- ppc/sha1.c | 4 +- prio-queue.h | 10 +- protocol.h | 6 +- quote.h | 34 ++-- reachable.h | 8 +- reflog-walk.h | 28 +-- refs.h | 2 +- remote.h | 24 +-- replace-object.h | 4 +- resolve-undo.h | 14 +- run-command.h | 8 +- serve.h | 6 +- sha1-lookup.h | 8 +- streaming.h | 8 +- string-list.h | 4 +- sub-process.h | 8 +- submodule-config.h | 22 +-- tag.h | 16 +- tempfile.h | 30 +-- trace.h | 44 ++--- transport.h | 4 +- tree-walk.h | 4 +- upload-pack.h | 8 +- url.h | 16 +- urlmatch.h | 4 +- utf8.h | 2 +- varint.h | 4 +- vcs-svn/sliding_window.h | 2 +- vcs-svn/svndiff.h | 4 +- worktree.h | 36 ++-- xdiff-interface.h | 12 +- 71 files changed, 1139 insertions(+), 1139 deletions(-) Range-diff against v4: 1: 6c27c8b17c ! 1: 200c556b7d *.[ch]: remove extern from function declarations using spatch @@ -19,8 +19,8 @@ and it was run with: - $ git ls-files \*.{c,h} | \ - grep -v ^compat/ | \ + $ git ls-files \*.{c,h} | + grep -v ^compat/ | xargs spatch --sp-file contrib/coccinelle/noextern.cocci --in-place Files under `compat/` are intentionally excluded as some are directly 2: a996466d3b ! 2: 6fe5c773ea *.[ch]: remove extern from function declarations using sed @@ -8,8 +8,8 @@ This was done by running the following on my system with sed 4.2.2: - $ git ls-files \*.{c,h} | \ - grep -v ^compat/ | \ + $ git ls-files \*.{c,h} | + grep -v ^compat/ | xargs sed -i'' -e 's/^\(\s*\)extern \([^(]*([^*]\)/\1\2/' Files under `compat/` are intentionally excluded as some are directly 3: 6c8489b26b = 3: 98c743b19d *.[ch]: manually align parameter lists 4: ec08af884c < -: ---------- cocci: prevent extern function declarations -- 2.21.0.1033.g0e8cc1100c