Merge branch 'bw/rebase-i-ignored-submodule-fix' into maint
"git rebase -i" recently started misbehaving when a submodule that is configured with 'submodule.<name>.ignore' is dirty; this has been corrected. * bw/rebase-i-ignored-submodule-fix: wt-status: actually ignore submodules when requested
This commit is contained in:
commit
6baa11dc2a
@ -40,4 +40,21 @@ git_rebase_interactive () {
|
|||||||
|
|
||||||
test_submodule_switch "git_rebase_interactive"
|
test_submodule_switch "git_rebase_interactive"
|
||||||
|
|
||||||
|
test_expect_success 'rebase interactive ignores modified submodules' '
|
||||||
|
test_when_finished "rm -rf super sub" &&
|
||||||
|
git init sub &&
|
||||||
|
git -C sub commit --allow-empty -m "Initial commit" &&
|
||||||
|
git init super &&
|
||||||
|
git -C super submodule add ../sub &&
|
||||||
|
git -C super config submodule.sub.ignore dirty &&
|
||||||
|
>super/foo &&
|
||||||
|
git -C super add foo &&
|
||||||
|
git -C super commit -m "Initial commit" &&
|
||||||
|
test_commit -C super a &&
|
||||||
|
test_commit -C super b &&
|
||||||
|
test_commit -C super/sub c &&
|
||||||
|
set_fake_editor &&
|
||||||
|
git -C super rebase -i HEAD^^
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
@ -2262,8 +2262,10 @@ int has_unstaged_changes(int ignore_submodules)
|
|||||||
int result;
|
int result;
|
||||||
|
|
||||||
init_revisions(&rev_info, NULL);
|
init_revisions(&rev_info, NULL);
|
||||||
if (ignore_submodules)
|
if (ignore_submodules) {
|
||||||
DIFF_OPT_SET(&rev_info.diffopt, IGNORE_SUBMODULES);
|
DIFF_OPT_SET(&rev_info.diffopt, IGNORE_SUBMODULES);
|
||||||
|
DIFF_OPT_SET(&rev_info.diffopt, OVERRIDE_SUBMODULE_CONFIG);
|
||||||
|
}
|
||||||
DIFF_OPT_SET(&rev_info.diffopt, QUICK);
|
DIFF_OPT_SET(&rev_info.diffopt, QUICK);
|
||||||
diff_setup_done(&rev_info.diffopt);
|
diff_setup_done(&rev_info.diffopt);
|
||||||
result = run_diff_files(&rev_info, 0);
|
result = run_diff_files(&rev_info, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user