git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7][Outreachy] stop using the_repository global variable.
@ 2025-02-14 22:57 Usman Akinyemi
  2025-02-14 22:57 ` [PATCH 1/7] builtin/verify-tag: stop using `the_repository` Usman Akinyemi
                   ` (8 more replies)
  0 siblings, 9 replies; 63+ messages in thread
From: Usman Akinyemi @ 2025-02-14 22:57 UTC (permalink / raw)
  To: git; +Cc: chriscool, christian.couder, johncai86, ps, shejialuo

Remove `the_repository` global variable in favor of the repository
argument that gets passed in builtin commands. 

These sets of commands are commands that use only RUN_SETUP macro in "git.c".
Basically, When `-h` is passed to any of this command outside a Git repository,
the `run_builtin()` will call the `cmd_x()` function (where `x` is any
of the command from the sets of builtin commands that `the_repository` is removed
from) with `repo` set to NULL and then early in the function, `parse_options()`
or show_usage_with_options_if_asked() call will give the options help and exit,
without having to consult much of the configuration file.

As there exist some builtin commands where the `repository` variable is accessed
before options is given exit and fail, we should check if the `repository` variable
is not NULL in such scenerio.

Some, functions also uses `the_repository` global internally, so, let's
let's refactor them and pass `struct repo` as one of the argument. 

I picked some of this files based on the above explanation, how easy they are to
resolve and how easy easy to review. 

[1]: https://public-inbox.org/git/20250210181103.3609495-1-usmanakinyemi202@gmail.com/
*** BLURB HERE ***

Usman Akinyemi (7):
  builtin/verify-tag: stop using `the_repository`
  builtin/verify-commit.c: stop using `the_repository`
  builtin/send-pack.c: stop using `the_repository`
  builtin/pack-refs: stop using `the_repository`
  builtin/ls-files: stop using `the_repository`
  builtin/for-each-ref: stop using `the_repository`
  builtin/checkout-index.c: stop using `the_repository`

 builtin/checkout-index.c | 43 ++++++++++++++++++++--------------------
 builtin/for-each-ref.c   |  6 +++---
 builtin/ls-files.c       | 32 +++++++++++++++---------------
 builtin/pack-refs.c      |  9 ++++-----
 builtin/send-pack.c      |  8 ++++----
 builtin/verify-commit.c  | 14 ++++++-------
 builtin/verify-tag.c     |  8 ++++----
 7 files changed, 59 insertions(+), 61 deletions(-)

-- 
2.48.1


^ permalink raw reply	[flat|nested] 63+ messages in thread

end of thread, other threads:[~2025-03-07 23:36 UTC | newest]

Thread overview: 63+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-14 22:57 [PATCH 0/7][Outreachy] stop using the_repository global variable Usman Akinyemi
2025-02-14 22:57 ` [PATCH 1/7] builtin/verify-tag: stop using `the_repository` Usman Akinyemi
2025-02-17  6:55   ` Patrick Steinhardt
2025-02-17 10:05     ` Usman Akinyemi
2025-02-17 10:22       ` Patrick Steinhardt
2025-02-17 10:42         ` Usman Akinyemi
2025-02-17 15:47           ` Patrick Steinhardt
2025-02-14 22:57 ` [PATCH 2/7] builtin/verify-commit.c: " Usman Akinyemi
2025-02-16  5:32   ` shejialuo
2025-02-17  8:55     ` Usman Akinyemi
2025-02-14 22:57 ` [PATCH 3/7] builtin/send-pack.c: " Usman Akinyemi
2025-02-14 22:57 ` [PATCH 4/7] builtin/pack-refs: " Usman Akinyemi
2025-02-14 22:57 ` [PATCH 5/7] builtin/ls-files: " Usman Akinyemi
2025-02-17  6:55   ` Patrick Steinhardt
2025-02-17  8:57     ` Usman Akinyemi
2025-02-14 22:57 ` [PATCH 6/7] builtin/for-each-ref: " Usman Akinyemi
2025-02-14 22:57 ` [PATCH 7/7] builtin/checkout-index.c: " Usman Akinyemi
2025-02-16  5:41 ` [PATCH 0/7][Outreachy] stop using the_repository global variable shejialuo
2025-02-17  8:56   ` Usman Akinyemi
2025-02-19 20:32 ` [PATCH v2 00/12][Outreachy] " Usman Akinyemi
2025-02-19 20:32   ` [PATCH v2 01/12] builtin/verify-tag: refactor `cmd_verify_tag()` Usman Akinyemi
2025-02-20 15:32     ` Junio C Hamano
2025-02-19 20:32   ` [PATCH v2 02/12] builtin/verify-tag: stop using `the_repository` Usman Akinyemi
2025-02-20 15:43     ` Junio C Hamano
2025-02-27 17:56       ` Usman Akinyemi
2025-02-27 22:39         ` Junio C Hamano
2025-02-19 20:32   ` [PATCH v2 03/12] builtin/verify-commit: refactor `cmd_verify_commit()` Usman Akinyemi
2025-02-19 20:32   ` [PATCH v2 04/12] builtin/verify-commit: stop using `the_repository` Usman Akinyemi
2025-02-19 20:32   ` [PATCH v2 05/12] builtin/send-pack: refactor `cmd_send_pack()` Usman Akinyemi
2025-02-19 20:32   ` [PATCH v2 06/12] builtin/send-pack: stop using `the_repository` Usman Akinyemi
2025-02-19 20:32   ` [PATCH v2 07/12] builtin/pack-refs: refactor `cmd_pack_refs()` Usman Akinyemi
2025-02-19 20:32   ` [PATCH v2 08/12] builtin/pack-refs: stop using `the_repository` Usman Akinyemi
2025-02-19 20:32   ` [PATCH v2 09/12] builtin/ls-files: " Usman Akinyemi
2025-02-19 20:32   ` [PATCH v2 10/12] builtin/for-each-ref: refactor `cmd_for_each_ref()` Usman Akinyemi
2025-02-19 20:32   ` [PATCH v2 11/12] builtin/for-each-ref: stop using `the_repository` Usman Akinyemi
2025-02-19 20:33   ` [PATCH v2 12/12] builtin/checkout-index: " Usman Akinyemi
2025-03-06 14:35   ` [Outreachy PATCH v3 0/8] stop using the_repository global variable Usman Akinyemi
2025-03-06 14:35     ` [PATCH v3 1/8] config: teach repo_config to allow `repo` to be NULL Usman Akinyemi
2025-03-06 17:53       ` Junio C Hamano
2025-03-07  1:33         ` Usman Akinyemi
2025-03-07 10:37         ` Phillip Wood
2025-03-06 14:35     ` [PATCH v3 2/8] builtin/verify-tag: stop using `the_repository` Usman Akinyemi
2025-03-06 17:56       ` Junio C Hamano
2025-03-06 14:35     ` [PATCH v3 3/8] builtin/verify-commit: " Usman Akinyemi
2025-03-06 14:35     ` [PATCH v3 4/8] builtin/send-pack: " Usman Akinyemi
2025-03-06 14:35     ` [PATCH v3 5/8] builtin/pack-refs: " Usman Akinyemi
2025-03-06 14:35     ` [PATCH v3 6/8] builtin/ls-files: " Usman Akinyemi
2025-03-06 17:59       ` Junio C Hamano
2025-03-06 14:35     ` [PATCH v3 7/8] builtin/for-each-ref: " Usman Akinyemi
2025-03-06 14:35     ` [PATCH v3 8/8] builtin/checkout-index: " Usman Akinyemi
2025-03-06 18:18       ` Junio C Hamano
2025-03-07  1:15         ` Usman Akinyemi
2025-03-07 14:15           ` Junio C Hamano
2025-03-07 19:41             ` Usman Akinyemi
2025-03-07 23:34     ` [Outreachy PATCH v4 0/8] stop using the_repository global variable Usman Akinyemi
2025-03-07 23:35       ` [PATCH v4 1/8] config: teach repo_config to allow `repo` to be NULL Usman Akinyemi
2025-03-07 23:35       ` [PATCH v4 2/8] builtin/verify-tag: stop using `the_repository` Usman Akinyemi
2025-03-07 23:35       ` [PATCH v4 3/8] builtin/verify-commit: " Usman Akinyemi
2025-03-07 23:35       ` [PATCH v4 4/8] builtin/send-pack: " Usman Akinyemi
2025-03-07 23:35       ` [PATCH v4 5/8] builtin/pack-refs: " Usman Akinyemi
2025-03-07 23:35       ` [PATCH v4 6/8] builtin/ls-files: " Usman Akinyemi
2025-03-07 23:35       ` [PATCH v4 7/8] builtin/for-each-ref: " Usman Akinyemi
2025-03-07 23:35       ` [PATCH v4 8/8] builtin/checkout-index: " Usman Akinyemi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).