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

Re: [PATCH 02/14] pager: stop using `the_repository`

From
Karthik Nayak <karthik.188@gmail.com>
Date
Dec 31, 2024, 06:55 UTC
Message-ID
<CAOLa=ZTh2Nwwo7VKcXGC0zVivmPjxXr7R-cYC_A2JoeVvRsb1A@mail.gmail.com>
In-Reply-To
<Z2Fr90U9ujGFv2IT@ArchLinux>
shejialuo <shejialuo@gmail.com> writes:
Show 40 quoted lines
> On Tue, Dec 17, 2024 at 07:43:49AM +0100, Patrick Steinhardt wrote:
>> Stop using `the_repository` in the "pager" subsystem by passing in a
>> repository when setting up the pager and when configuring it.
>>
>> Adjust callers accordingly by using `the_repository`. While there may be
>> some callers that have a repository available in their context, this
>> trivial conversion allows for easier verification and bubbles up the use
>> of `the_repository` by one level.
>>
>> Signed-off-by: Patrick Steinhardt <ps@pks.im>
>> ---
>>  add-patch.c     |  2 +-
>>  builtin/am.c    |  4 ++--
>>  builtin/blame.c |  2 +-
>>  builtin/grep.c  |  4 ++--
>>  builtin/help.c  |  4 ++--
>>  builtin/log.c   |  4 ++--
>>  builtin/var.c   |  2 +-
>>  diff.c          |  4 ++--
>>  git.c           |  8 ++++----
>>  pager.c         | 14 ++++++--------
>>  pager.h         |  7 ++++---
>>  11 files changed, 27 insertions(+), 28 deletions(-)
>>
>> diff --git a/builtin/help.c b/builtin/help.c
>> index 05136279cf7b1007ab754f5630c34536a5f9461f..c257079cebc3c09fb91f258c3b0148e2f204c0e7 100644
>> --- a/builtin/help.c
>> +++ b/builtin/help.c
>> @@ -658,7 +658,7 @@ int cmd_help(int argc,
>>  	case HELP_ACTION_ALL:
>>  		opt_mode_usage(argc, "--all", help_format);
>>  		if (verbose) {
>> -			setup_pager();
>> +			setup_pager(the_repository);
>
> It's possible we run "git help" outside of the repository. Here we still
> pass "the_repository" to the "setup_pager", it may be a little strange.
> But later we will use the "repo" parameter instead of the global
> variable "the_repository", so this is OK.
>

Well, the crux here is that the pager only requires the repository for calling `read_early_config()` in `config.c`. And that function is used to read if there is pager config, since git allows you to setup the pager via config. It also checks if the repo variable is set, so this would work as expected outside of a git repository.

>>  			list_all_cmds_help(show_external_commands,
>>  					   show_aliases);
>>  			return 0;
Previous: shejialuoNext: Patrick Steinhardt
Message 8 of 26 in “Stop using `the_repository` in some trivial cases”
  1. 00/14 Stop using `the_repository` in some trivial casesPatrick Steinhardt, Dec 17, 2024
  2. 01/14 progress: stop using `the_repository`Patrick Steinhardt, Dec 17, 2024
  3. Karthik NayakDec 31, 2024
  4. Toon ClaesJan 6, 2025
  5. Patrick SteinhardtJan 7, 2025
  6. 02/14 pager: stop using `the_repository`Patrick Steinhardt, Dec 17, 2024
  7. shejialuoDec 17, 2024
  8. Karthik NayakDec 31, 2024
  9. 03/14 trace: stop using `the_repository`Patrick Steinhardt, Dec 17, 2024
  10. 04/14 serve: stop using `the_repository`Patrick Steinhardt, Dec 17, 2024
  11. 05/14 send-pack: stop using `the_repository`Patrick Steinhardt, Dec 17, 2024
  12. 06/14 server-info: stop using `the_repository`Patrick Steinhardt, Dec 17, 2024
  13. shejialuoDec 17, 2024
  14. 07/14 diagnose: stop using `the_repository`Patrick Steinhardt, Dec 17, 2024
  15. 08/14 mailinfo: stop using `the_repository`Patrick Steinhardt, Dec 17, 2024
  16. 09/14 credential: stop using `the_repository`Patrick Steinhardt, Dec 17, 2024
  17. 10/14 resolve-undo: stop using `the_repository`Patrick Steinhardt, Dec 17, 2024
  18. 11/14 tmp-objdir: stop using `the_repository`Patrick Steinhardt, Dec 17, 2024
  19. 12/14 add-interactive: stop using `the_repository`Patrick Steinhardt, Dec 17, 2024
  20. 13/14 graph: stop using `the_repository`Patrick Steinhardt, Dec 17, 2024
  21. 14/14 match-trees: stop using `the_repository`Patrick Steinhardt, Dec 17, 2024
  22. shejialuoDec 17, 2024
  23. Patrick SteinhardtDec 27, 2024
  24. Karthik NayakJan 7, 2025
  25. Toon ClaesJan 7, 2025
  26. Junio C HamanoJan 7, 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.