git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[GSOC PATCH v2 0/2] builtin/fmt-merge-msg: remove dependency on global variables and 'the_repository'

From
Ayush Chandekar <ayu.chandekar@gmail.com>
Date
Aug 10, 2025, 23:45 UTC
Message-ID
<cover.1754868681.git.ayu.chandekar@gmail.com>
In-Reply-To
<cover.1753804956.git.ayu.chandekar@gmail.com>

The aim of this patch series is to remove the definition '#define USE_THE_REPOSITORY_VARIABLE' from "builtin/fmt-merge-msg.c" by removing global variable 'merge_log_config' and the global 'the_repository'

This patch series contains two patches:
1 - Remove the global varaible 'merge_log_config' and localize it in
    'cmd_fmt_merge_msg()' and 'cmd_merge()'. Set its value by passing it in
    'fmt_merge_msg_config()' by passing its pointer to the function via the
    callback parameter.
2 - Remove the dependency of 'the_repository' in "builtin/fmt-merge-msg.c", allowing the removal
    of the definition '#define USE_THE_REPOSITORY_VARIABLE'. Also add a test to make sure that
    "git fmt-merge-msg -h" can be called with repository being NULL.
Thanks to Junio and Phillip for reviewing my patch series and Christian for mentoring me!
Ayush Chandekar (2):
  environment: remove the global variable 'merge_log_config'
  builtin/fmt-merge-msg: stop depending on 'the_repository'
 builtin/fmt-merge-msg.c |  6 +++---
 builtin/merge.c         |  3 ++-
 environment.c           |  1 -
 fmt-merge-msg.c         | 10 ++++++----
 fmt-merge-msg.h         |  1 -
 t/t1517-outside-repo.sh |  7 +++++++
 6 files changed, 18 insertions(+), 10 deletions(-)
Range-diff against v1:
1:  c82620a1f5 < -:  ---------- environment: remove the global variable 'merge_log_config'
-:  ---------- > 1:  3aa014ed46 environment: remove the global variable 'merge_log_config'
2:  04d6f682a6 ! 2:  8e55516cda builtin/fmt-merge-msg: stop depending on 'the_repository'
    @@ Commit message
         builtin/fmt-merge-msg: stop depending on 'the_repository'
     
         Refactor builtin/fmt-merge-msg.c to remove the dependancy on the global
    -    'the_repository'. Replace all the occurrences of 'the_repository' with
    -    'repo', where 'repo' is a pointer to 'struct repository' passed to the
    -    function 'cmd_fmt_merge_msg()' and thus remove the definition '#define
    -    USE_THE_REPOSITORY_VARIABLE'. Also, add a test to make sure that "git
    -    fmt-merge-msg -h" can be called outside a repository.
    +    'the_repository'. Remove the 'UNUSED' macro from the 'struct repository'
    +    parameter and replace 'git_config()' with 'repo_config()' so that
    +    configuration is read from the passed repository. Also, add a test to
    +    make sure that "git fmt-merge-msg -h" can be called outside a
    +    repository.
     
         Mentored-by: Christian Couder <christian.couder@gmail.com>
         Mentored-by: Ghanshyam Thakkar <shyamthakkar001@gmail.com>
    @@ builtin/fmt-merge-msg.c: int cmd_fmt_merge_msg(int argc,
      	int ret;
      	struct fmt_merge_msg_opts opts;
      
    --	git_config(fmt_merge_msg_config, NULL);
    +-	git_config(fmt_merge_msg_config, &merge_log_config);
    ++	repo_config(repo, fmt_merge_msg_config, &merge_log_config);
      	argc = parse_options(argc, argv, prefix, options, fmt_merge_msg_usage,
      			     0);
      	if (argc > 0)
    - 		usage_with_options(fmt_merge_msg_usage, options);
    -+	repo_config(repo, fmt_merge_msg_config, NULL);
    - 
    --	adjust_shortlog_len(the_repository, &shortlog_len);
    -+	adjust_shortlog_len(repo, &shortlog_len);
    - 
    - 	if (inpath && strcmp(inpath, "-")) {
    - 		in = fopen(inpath, "r");
     
      ## t/t1517-outside-repo.sh ##
     @@ t/t1517-outside-repo.sh: test_expect_success 'prune does not crash with -h' '
-- 
2.49.0
Previous: Ayush ChandekarNext: Ayush Chandekar
Message 14 of 19 in “builtin/fmt-merge-msg: remove dependency on global variables and 'the_repository'”
  1. 0/2 builtin/fmt-merge-msg: remove dependency on global variables and 'the_repository'Ayush Chandekar, Jul 29, 2025
  2. 1/2 environment: remove the global variable 'merge_log_config'Ayush Chandekar, Jul 29, 2025
  3. Junio C HamanoJul 29, 2025
  4. Ayush ChandekarJul 29, 2025
  5. Junio C HamanoJul 29, 2025
  6. Phillip WoodJul 29, 2025
  7. Ayush ChandekarJul 29, 2025
  8. Phillip WoodJul 30, 2025
  9. 2/2 builtin/fmt-merge-msg: stop depending on 'the_repository'Ayush Chandekar, Jul 29, 2025
  10. Junio C HamanoJul 29, 2025
  11. Ayush ChandekarJul 29, 2025
  12. Junio C HamanoJul 29, 2025
  13. Ayush ChandekarAug 10, 2025
  14. 0/2 builtin/fmt-merge-msg: remove dependency on global variables and 'the_repository'Ayush Chandekar, Aug 10, 2025
  15. 1/2 environment: remove the global variable 'merge_log_config'Ayush Chandekar, Aug 10, 2025
  16. Phillip WoodAug 11, 2025
  17. Junio C HamanoAug 11, 2025
  18. Ayush ChandekarAug 11, 2025
  19. 2/2 builtin/fmt-merge-msg: stop depending on 'the_repository'Ayush Chandekar, Aug 10, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.