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

Re: [PATCH 4/4] get_superproject_working_tree(): return strbuf

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 6, 2020, 22:44 UTC
Message-ID
<xmqqv9nh14u0.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<2eeefda3d41e6af1bc61249daf14b42050f0d0c3.1583521397.git.gitgitgadget@gmail.com>

"Alexandr Miloslavskiy via GitGitGadget" <gitgitgadget@gmail.com> writes:

Show 8 quoted lines
>  			if (!strcmp(arg, "--show-superproject-working-tree")) {
> -				const char *superproject = get_superproject_working_tree();
> -				if (superproject)
> -					puts(superproject);
> +				struct strbuf superproject = STRBUF_INIT;
> +				if (get_superproject_working_tree(&superproject))
> +					puts(superproject.buf);
> +				strbuf_release(&superproject);
The new calling convention makes sense here.
Show 13 quoted lines
>  				continue;
>  			}
>  			if (!strcmp(arg, "--show-prefix")) {
> diff --git a/submodule.c b/submodule.c
> index 215c62580fc..46f6c2cbfd0 100644
> --- a/submodule.c
> +++ b/submodule.c
> @@ -2168,14 +2168,13 @@ void absorb_git_dir_into_superproject(const char *path,
>  	}
>  }
>  
> -const char *get_superproject_working_tree(void)
> +int get_superproject_working_tree(struct strbuf* buf)
Micronit.  

The asterisk sticks to the identifier, not type, in our codebase. I.e. "struct strbuf *buf".

Show 13 quoted lines
> diff --git a/submodule.h b/submodule.h
> index c81ec1a9b6c..17492e478fc 100644
> --- a/submodule.h
> +++ b/submodule.h
> @@ -152,8 +152,8 @@ void absorb_git_dir_into_superproject(const char *path,
>  /*
>   * Return the absolute path of the working tree of the superproject, which this
>   * project is a submodule of. If this repository is not a submodule of
> - * another repository, return NULL.
> + * another repository, return 0.
>   */
> -const char *get_superproject_working_tree(void);
> +int get_superproject_working_tree(struct strbuf* buf);
Likewise.
The conversion of the function body looked quite sensible.
Thanks.
Previous: Alexandr Miloslavskiy via GitGitGadgetNext: Alexandr Miloslavskiy
Message 6 of 17 in “Fix bugs related to real_path()”
  1. 0/4 Fix bugs related to real_path()Alexandr Miloslavskiy via GitGitGadget, Mar 6, 2020
  2. 1/4 set_git_dir: fix crash when used with real_path()Alexandr Miloslavskiy via GitGitGadget, Mar 6, 2020
  3. Junio C HamanoMar 6, 2020
  4. Alexandr MiloslavskiyMar 6, 2020
  5. 4/4 get_superproject_working_tree(): return strbufAlexandr Miloslavskiy via GitGitGadget, Mar 6, 2020
  6. Junio C HamanoMar 6, 2020
  7. Alexandr MiloslavskiyMar 6, 2020
  8. 2/4 real_path: remove unsafe APIAlexandr Miloslavskiy via GitGitGadget, Mar 6, 2020
  9. Junio C HamanoMar 6, 2020
  10. Alexandr MiloslavskiyMar 6, 2020
  11. 3/4 real_path_if_valid(): remove unsafe APIAlexandr Miloslavskiy via GitGitGadget, Mar 6, 2020
  12. Junio C HamanoMar 6, 2020
  13. 0/4 Fix bugs related to real_path()Alexandr Miloslavskiy via GitGitGadget, Mar 10, 2020
  14. 4/4 get_superproject_working_tree(): return strbufAlexandr Miloslavskiy via GitGitGadget, Mar 10, 2020
  15. 3/4 real_path_if_valid(): remove unsafe APIAlexandr Miloslavskiy via GitGitGadget, Mar 10, 2020
  16. 2/4 real_path: remove unsafe APIAlexandr Miloslavskiy via GitGitGadget, Mar 10, 2020
  17. 1/4 set_git_dir: fix crash when used with real_path()Alexandr Miloslavskiy via GitGitGadget, Mar 10, 2020

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.