Subject: Re: [RFC][PATCH 0/2] submodule: port 'set-url' from shell to C

From: Shourya Shukla <[email-masked]>
Date: Mon, 27 Apr 2020 12:49:20 +0530

On 20/04 04:19, Denton Liu wrote:
> > 1. The patch fails test #2 in t7420, i.e., the test to verify the working of 'set-url'
> >    subcommand.
> 
> The 'set-url' command implicitly runs sync once it is changed. I would
> go further than what Christian suggests and just call sync_submodule()
> (in C) at the end of module_set_url().

I have implemented this, yet running the test still gives an error. The
function 'init_pathspec_item' in 'pathspec.c' tends to fail. Going
further deep, the function 'prefix_path_gently' fails. I think this is
happening because of the relative path outside the superproject for
'../newsubmodule' and hence it throws a problem with prefixing.

The exact function responsible here is 'normalize_path_copy' in
'path.c'.

On doing '-i -v' while running the test. The problem comes down to:

fatal: ../newsubmodule: '../newsubmodule' is outside repository at '<path>/git/t/trash directory.t7420-submodule-set-url/super'

What exactly is wrong here and how should this problem
and similar ones (if encountered) be approached? Do we follow
certain procedures when debugging problems at such an intricate level?

Regards,
Shourya Shukla