On Fri, Mar 25, 2016 at 9:46 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > Stefan Beller <sbeller@xxxxxxxxxx> writes: > >> Most times that directory doesn't exist and we error out. Fix this bug >> by clearing wt_prefix, such that any recursive instances of will assume >> to operate from the respective root of the respective submodule. > > As long as the recursive instances do not take any filenames and > pathspecs that needs adjustment with respect to the prefix, this > would be an OK change; I am not sure if that precondition holds, > though. If we give filenames and pathspecs relative to the prefix in a submodule, the filename is not recognized by the superproject which would produce an error at the superproject. Monkey-testing locally here supports my suspicion and it is not possible to do things like git submodule status path/inside/submodule so if that is already not working, we should not expect to have git -C subdir submodule status ../path/inside/submodule working. > > Thanks. > >> >> Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> >> --- >> git-submodule.sh | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/git-submodule.sh b/git-submodule.sh >> index 536ba68..6b18a03 100755 >> --- a/git-submodule.sh >> +++ b/git-submodule.sh >> @@ -827,6 +827,7 @@ Maybe you want to use 'update --init'?")" >> ( >> prefix="$(relative_path $prefix$sm_path)/" >> clear_local_git_env >> + wt_prefix= >> cd "$sm_path" && >> eval cmd_update >> ) >> @@ -1159,6 +1160,7 @@ cmd_status() >> ( >> prefix="$displaypath/" >> clear_local_git_env >> + wt_prefix= >> cd "$sm_path" && >> eval cmd_status >> ) || >> @@ -1240,6 +1242,7 @@ cmd_sync() >> >> if test -n "$recursive" >> then >> + wt_prefix= >> eval cmd_sync >> fi >> ) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html