On Thu, Oct 15, 2020 at 7:09 PM Phillip Wood <phillip.wood123@xxxxxxxxx> wrote: Hey Phillip, > As we store the config options in default_diff_options and then copy > them across at the beginning of repo_setup_diff() we can use a flag in > struct diff_options which is set by handle_ignore_submodule_arg() to > tell if we need to initialize opts->flags.ignore_untracked_in_submodules > in repo_setup_diff() Even if we don't set a global flag it is working fine because we are setting the default first, and would let the config override it. I have updated the code in the PR and you can have a look at it. I have also added --ignore-submodules=none in some tests to get the results mentioned earlier. > Are you adding the printf and then running t3600? If so then the extra > line of output breaks a lot of tests which in turn breaks to setup for > the test that was failing so there are uncommitted changes. > Unfortunately it is hard to run a subset of tests in a lot the test > scripts as there are implicit dependencies between the individual tests > them. > Oh, okay it makes sense. > > I'm afraid I'm still no closer to figuring out why that test in t3600 fails What it is like debugging in Git? I have seen people writing debug statements(print statements in between the code) to figure out how things are working. But I guess we might not be able to do that. Do we have to create the exact environment that is been created by that test to check for the code?