[PATCH v2 00/17] cocci: remove "the_repository" wrapper macros

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



A v2 of the removal of "the_repository" wrapper macros and adjacent
cleanups. The v1 subject for this said "the_index", sorry!

See v1 [1] for a more general overview. The changes since v1 are
trivial & best skimmed from the range-diff, just a rebasing,
clarification in a commit message, and a typo fix, thanks all!

As before this has a trivial conflict with "seen", but this time
around the conflict is different, but it's trivially solved as before,
the remerge-diff was:
	
	diff --git a/cache.h b/cache.h
	remerge CONFLICT (content): Merge conflict in cache.h
	index 25e002c488b..82d7b112b4e 100644
	--- a/cache.h
	+++ b/cache.h
	@@ -711,31 +711,6 @@ extern int quote_path_fully;
	  */
	 const char *repo_find_unique_abbrev(struct repository *r, const struct object_id *oid, int len);
	 int repo_find_unique_abbrev_r(struct repository *r, char *hex, const struct object_id *oid, int len);
	-<<<<<<< 9f4013b4b9d (libs: use "struct repository *" argument, not "the_repository")
	-
	-/* set default permissions by passing mode arguments to open(2) */
	-int git_mkstemps_mode(char *pattern, int suffix_len, int mode);
	-int git_mkstemp_mode(char *pattern, int mode);
	-
	-/*
	- * NOTE NOTE NOTE!!
	- *
	- * PERM_UMASK, OLD_PERM_GROUP and OLD_PERM_EVERYBODY enumerations must
	- * not be changed. Old repositories have core.sharedrepository written in
	- * numeric format, and therefore these values are preserved for compatibility
	- * reasons.
	- */
	-enum sharedrepo {
	-	PERM_UMASK          = 0,
	-	OLD_PERM_GROUP      = 1,
	-	OLD_PERM_EVERYBODY  = 2,
	-	PERM_GROUP          = 0660,
	-	PERM_EVERYBODY      = 0664
	-};
	-int git_config_perm(const char *var, const char *value);
	-int adjust_shared_perm(const char *path);
	-=======
	->>>>>>> 2bb680d6bbd (Merge branch 'kh/commentchar-config-error-message' into seen)
	 
	 /*
	  * Create the directory containing the named path, using care to be
	@@ -925,11 +900,6 @@ int repo_interpret_branch_name(struct repository *r,
	 			       const char *str, int len,
	 			       struct strbuf *buf,
	 			       const struct interpret_branch_name_options *options);
	-<<<<<<< 9f4013b4b9d (libs: use "struct repository *" argument, not "the_repository")
	-
	-int validate_headref(const char *ref);
	-=======
	->>>>>>> 2bb680d6bbd (Merge branch 'kh/commentchar-config-error-message' into seen)
	 
	 int base_name_compare(const char *name1, size_t len1, int mode1,
	 		      const char *name2, size_t len2, int mode2);
Branch & CI for this at:
https://github.com/avar/git/tree/avar/cocci-the-repository-from-pending-2

1. https://lore.kernel.org/git/cover-00.17-00000000000-20230317T152724Z-avarab@xxxxxxxxx/

Ævar Arnfjörð Bjarmason (17):
  cocci: remove dead rule from "the_repository.pending.cocci"
  cocci: fix incorrect & verbose "the_repository" rules
  cocci: sort "the_repository" rules by header
  cocci: add missing "the_repository" macros to "pending"
  cocci: apply the "cache.h" part of "the_repository.pending"
  cocci: apply the "commit-reach.h" part of "the_repository.pending"
  cocci: apply the "commit.h" part of "the_repository.pending"
  cocci: apply the "diff.h" part of "the_repository.pending"
  cocci: apply the "object-store.h" part of "the_repository.pending"
  cocci: apply the "pretty.h" part of "the_repository.pending"
  cocci: apply the "packfile.h" part of "the_repository.pending"
  cocci: apply the "promisor-remote.h" part of "the_repository.pending"
  cocci: apply the "refs.h" part of "the_repository.pending"
  cocci: apply the "rerere.h" part of "the_repository.pending"
  cocci: apply the "revision.h" part of "the_repository.pending"
  post-cocci: adjust comments for recent repo_* migration
  libs: use "struct repository *" argument, not "the_repository"

 add-interactive.c                             |   2 +-
 add-patch.c                                   |   2 +-
 apply.c                                       |  13 +-
 archive.c                                     |  12 +-
 bisect.c                                      |  11 +-
 blame.c                                       |  15 +-
 branch.c                                      |   7 +-
 builtin/am.c                                  |  23 +--
 builtin/bisect.c                              |  33 ++--
 builtin/blame.c                               |  15 +-
 builtin/branch.c                              |   9 +-
 builtin/cat-file.c                            |  25 +--
 builtin/checkout.c                            |  35 ++--
 builtin/clone.c                               |   6 +-
 builtin/commit-tree.c                         |   4 +-
 builtin/commit.c                              |  29 ++--
 builtin/describe.c                            |   9 +-
 builtin/diff.c                                |   3 +-
 builtin/difftool.c                            |   3 +-
 builtin/fast-export.c                         |  12 +-
 builtin/fast-import.c                         |  17 +-
 builtin/fetch.c                               |  21 +--
 builtin/fsck.c                                |   2 +-
 builtin/gc.c                                  |   8 +-
 builtin/grep.c                                |   6 +-
 builtin/index-pack.c                          |  11 +-
 builtin/log.c                                 |  30 ++--
 builtin/ls-files.c                            |   4 +-
 builtin/ls-tree.c                             |   9 +-
 builtin/merge-base.c                          |   9 +-
 builtin/merge-recursive.c                     |   6 +-
 builtin/merge-tree.c                          |  18 ++-
 builtin/merge.c                               |  23 +--
 builtin/mktag.c                               |   3 +-
 builtin/name-rev.c                            |  11 +-
 builtin/notes.c                               |  34 ++--
 builtin/pack-objects.c                        |  24 ++-
 builtin/prune.c                               |   2 +-
 builtin/pull.c                                |   4 +-
 builtin/range-diff.c                          |  12 +-
 builtin/read-tree.c                           |   2 +-
 builtin/rebase.c                              |  21 +--
 builtin/receive-pack.c                        |  14 +-
 builtin/remote.c                              |   2 +-
 builtin/repack.c                              |   2 +-
 builtin/replace.c                             |  20 +--
 builtin/reset.c                               |  22 +--
 builtin/rev-list.c                            |   2 +-
 builtin/rev-parse.c                           |  18 ++-
 builtin/rm.c                                  |   2 +-
 builtin/shortlog.c                            |  13 +-
 builtin/show-branch.c                         |  19 +--
 builtin/show-ref.c                            |   6 +-
 builtin/sparse-checkout.c                     |   2 +-
 builtin/stash.c                               |  26 +--
 builtin/submodule--helper.c                   |   6 +-
 builtin/tag.c                                 |  10 +-
 builtin/unpack-file.c                         |   4 +-
 builtin/unpack-objects.c                      |   5 +-
 builtin/update-ref.c                          |   8 +-
 builtin/verify-commit.c                       |   2 +-
 builtin/verify-tag.c                          |   2 +-
 builtin/worktree.c                            |   8 +-
 bulk-checkin.c                                |   2 +-
 bundle.c                                      |   5 +-
 cache-tree.c                                  |  16 +-
 cache.h                                       |  19 +--
 checkout.c                                    |   2 +-
 combine-diff.c                                |   8 +-
 commit-graph.c                                |   4 +-
 commit-reach.c                                |  21 +--
 commit-reach.h                                |   9 --
 commit.c                                      |  44 ++---
 commit.h                                      |  22 +--
 connected.c                                   |   4 +-
 contrib/coccinelle/the_repository.cocci       | 123 ++++++++++++++
 .../coccinelle/the_repository.pending.cocci   | 128 ---------------
 delta-islands.c                               |   5 +-
 diff-lib.c                                    |   2 +-
 diff.c                                        |   6 +-
 diff.h                                        |   5 +-
 diffcore-break.c                              |   2 +-
 diffcore-rename.c                             |   4 +-
 dir.c                                         |   2 +-
 entry.c                                       |   3 +-
 fetch-pack.c                                  |   8 +-
 fmt-merge-msg.c                               |  15 +-
 fsck.c                                        |   6 +-
 http-push.c                                   |  16 +-
 http-walker.c                                 |   4 +-
 list-objects-filter-options.c                 |   7 +-
 list-objects.c                                |  20 ++-
 log-tree.c                                    |  28 ++--
 mailmap.c                                     |   4 +-
 match-trees.c                                 |   4 +-
 merge-blobs.c                                 |   6 +-
 merge-ort.c                                   |   6 +-
 merge-recursive.c                             |   9 +-
 negotiator/default.c                          |   6 +-
 negotiator/skipping.c                         |   2 +-
 notes-cache.c                                 |   5 +-
 notes-merge.c                                 |  11 +-
 notes-utils.c                                 |   2 +-
 notes.c                                       |  18 ++-
 object-file.c                                 |   4 +-
 object-name.c                                 |  19 ++-
 object-store.h                                |  11 +-
 pack-bitmap-write.c                           |   3 +-
 packfile.c                                    |   2 +-
 packfile.h                                    |   1 -
 parse-options-cb.c                            |   8 +-
 pretty.c                                      |  10 +-
 pretty.h                                      |   4 -
 promisor-remote.h                             |  15 --
 range-diff.c                                  |  12 +-
 read-cache.c                                  |   9 +-
 rebase-interactive.c                          |   2 +-
 ref-filter.c                                  |   8 +-
 reflog.c                                      |   7 +-
 refs.c                                        |   2 +-
 refs.h                                        |   6 -
 remote.c                                      |  15 +-
 rerere.c                                      |   5 +-
 rerere.h                                      |   3 -
 reset.c                                       |   4 +-
 revision.c                                    |  27 ++--
 revision.h                                    |   3 -
 send-pack.c                                   |   6 +-
 sequencer.c                                   | 150 ++++++++++--------
 shallow.c                                     |  21 +--
 strbuf.h                                      |   6 +-
 submodule-config.c                            |   5 +-
 submodule.c                                   |   8 +-
 t/helper/test-fast-rebase.c                   |  19 ++-
 t/helper/test-match-trees.c                   |   4 +-
 t/helper/test-oidmap.c                        |   6 +-
 t/helper/test-reach.c                         |  12 +-
 t/helper/test-revision-walking.c              |   3 +-
 t/helper/test-submodule-config.c              |   2 +-
 tag.c                                         |   9 +-
 transport-helper.c                            |   2 +-
 transport.c                                   |   3 +-
 tree.c                                        |   5 +-
 unpack-trees.c                                |   2 +-
 upload-pack.c                                 |   8 +-
 walker.c                                      |   6 +-
 wt-status.c                                   |  21 +--
 xdiff-interface.c                             |   2 +-
 148 files changed, 958 insertions(+), 873 deletions(-)
 create mode 100644 contrib/coccinelle/the_repository.cocci
 delete mode 100644 contrib/coccinelle/the_repository.pending.cocci

Range-diff against v1:
 1:  c167bde3c0c !  1:  e1e27490d60 cocci: remove dead rule from "the_repository.pending.cocci"
    @@ Commit message
         cocci: remove dead rule from "the_repository.pending.cocci"
     
         The "parse_commit_gently" macro went away in [1], so we don't need to
    -    carry his for its migration.
    +    carry this for its migration.
     
         1. ea3f7e598c8 (revision: use repository from rev_info when parsing
            commits, 2020-06-23)
 2:  1b1fc5d41f5 =  2:  5ac9d5b8905 cocci: fix incorrect & verbose "the_repository" rules
 3:  34c6b8afd6c !  3:  a3fcd19d744 cocci: sort "the_repository" rules by header
    @@ Commit message
         rules. This will make subsequent commits easier to follow, as we'll be
         applying these rules on a header-by-header basis.
     
    +    Once we've fully applied "the_repository.pending.cocci" we'll keep
    +    this rules around for a while in "the_repository.cocci", to help any
    +    outstanding topics and out-of-tree code to resolve textual or semantic
    +    conflicts with these changes, but eventually we'll remove the
    +    "the_repository.cocci" as a follow-up.
    +
    +    So even if some of these functions are subsequently moved and/or split
    +    into other or new headers there's no risk of this becoming stale, if
    +    and when that happens the we should be removing these rules anyway.
    +
         Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx>
     
      ## contrib/coccinelle/the_repository.pending.cocci ##
 4:  4b62e9a35a9 =  4:  af8bdc2adec cocci: add missing "the_repository" macros to "pending"
 5:  36eae891341 !  5:  3e721fa5db0 cocci: apply the "cache.h" part of "the_repository.pending"
    @@ cache.h: void *read_object_with_reference(struct repository *r,
     -#define peel_to_type(name, namelen, obj, type) \
     -	repo_peel_to_type(the_repository, name, namelen, obj, type)
      
    - #define IDENT_STRICT	       1
    - #define IDENT_NO_DATE	       2
    + const char *git_editor(void);
    + const char *git_sequence_editor(void);
     
      ## checkout.c ##
     @@ checkout.c: static int check_tracking_name(struct remote *remote, void *cb_data)
 6:  b06ea9861fd =  6:  0f24a57b50b cocci: apply the "commit-reach.h" part of "the_repository.pending"
 7:  2e9cf3ca378 !  7:  7d64ace3551 cocci: apply the "commit.h" part of "the_repository.pending"
    @@ commit.h: void repo_unuse_commit_buffer(struct repository *r,
      
      /*
     @@ commit.h: void free_commit_list(struct commit_list *list);
    + 
      struct rev_info; /* in revision.h, it circularly uses enum cmit_fmt */
      
    - int has_non_ascii(const char *text);
     -const char *logmsg_reencode(const struct commit *commit,
     -			    char **commit_encoding,
     -			    const char *output_encoding);
 8:  6c5f4861471 =  8:  f442e7b9acc cocci: apply the "diff.h" part of "the_repository.pending"
 9:  893684f135b =  9:  1866d473f1b cocci: apply the "object-store.h" part of "the_repository.pending"
10:  c4bf81a2892 = 10:  10e05c56231 cocci: apply the "pretty.h" part of "the_repository.pending"
11:  8cfc1c18878 = 11:  13955394126 cocci: apply the "packfile.h" part of "the_repository.pending"
12:  abd237009f9 = 12:  8336b0321a8 cocci: apply the "promisor-remote.h" part of "the_repository.pending"
13:  aae743233ab = 13:  a08d7f8eccf cocci: apply the "refs.h" part of "the_repository.pending"
14:  fb281b1ecdd = 14:  3d59dfe4186 cocci: apply the "rerere.h" part of "the_repository.pending"
15:  c8ff241844a = 15:  b7561c87ba5 cocci: apply the "revision.h" part of "the_repository.pending"
16:  86e24add191 = 16:  f947bb69dee post-cocci: adjust comments for recent repo_* migration
17:  6f86a34bf8b = 17:  9f4013b4b9d libs: use "struct repository *" argument, not "the_repository"
-- 
2.40.0.rc1.1034.g5867a1b10c5




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux