Re: [PATCH v2 09/13] submodule--helper: refactor get_submodule_displaypath()
From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2022-03-01 08:06:22
On Mon, Feb 28 2022, Glen Choo wrote:
quoted hunk ↗ jump to hunk
From: Atharva Raykar <redacted> We create a function called `do_get_submodule_displaypath()` that generates the display path required by several submodule functions, and takes a custom superprefix parameter, instead of reading it from the environment. We then redefine the existing `get_submodule_displaypath()` function as a call to this new function, where the superprefix is obtained from the environment. Mentored-by: Christian Couder [off-list ref] Mentored-by: Shourya Shukla [off-list ref] Signed-off-by: Atharva Raykar <redacted> Signed-off-by: Ævar Arnfjörð Bjarmason <redacted> Signed-off-by: Junio C Hamano <redacted> --- builtin/submodule--helper.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index 99341fb343..11afdeea8a 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c@@ -247,11 +247,8 @@ static int resolve_relative_url_test(int argc, const char **argv, const char *pr return 0; } -/* the result should be freed by the caller. */
nit: I think it's better to retain this comment here...
quoted hunk ↗ jump to hunk
-static char *get_submodule_displaypath(const char *path, const char *prefix) +static char *do_get_submodule_displaypath(const char *path, const char *prefix, const char *super_prefix) { - const char *super_prefix = get_super_prefix(); - if (prefix && super_prefix) { BUG("cannot have prefix '%s' and superprefix '%s'", prefix, super_prefix);@@ -267,6 +264,13 @@ static char *get_submodule_displaypath(const char *path, const char *prefix) } } +/* the result should be freed by the caller. */
..than have it here, where we don't do the xstrfmt() but just call this wrapper.:
+static char *get_submodule_displaypath(const char *path, const char *prefix)
+{
+ const char *super_prefix = get_super_prefix();
+ return do_get_submodule_displaypath(path, prefix, super_prefix);
+}
+
static char *compute_rev_name(const char *sub_path, const char* object_id)
{
struct strbuf sb = STRBUF_INIT;