Allow subgroups to re-inherit parent group settings after overriding them

Summary

If a subgroup overrides a setting that was previously being inherited from a parent group, the subgroup can never again inherit this setting. This causes the subgroup setting to become independent and needs to be manually adjusted every time if needed.

There should be a way to have a subgroup re inherit the setting from its parent group, so a setting's value could be true, false or default (inherited).

See the comment on this issue for further context (Confidential).

Steps to reproduce

  1. Create top-level group GroupA.
  2. Create SubGroupB under GroupA.
  3. Enable a setting, for example, Delayed project deletion on GroupA.
  4. Confirm that this same setting gets enabled on SubGroupB.
  5. Manually disable the same setting on SubGroupB.
  6. Manually disable the same setting on GroupA.
  7. Re-enable the setting on GroupA. Notice that SubGroupB does not inherit the setting.

From this point on, SubGroupB cannot inherit the setting value from GroupA, because it overrode it in the past. There is no way for SubGroupB to be set to inherit the setting from its parent ever again.

Feature request

Add a way for settings to be re-inherited from the parent group.

Output of checks

This behavior is present on GitLab.com.