code: def _merge_configuration(self, parent_config, child_options):
          
          # Copy the parent error codes so we won't override them
          error_codes = copy.deepcopy(parent_config.checked_codes)
          if self._has_exclusive_option(child_options):
              error_codes = self._get_exclusive_error_codes(child_options)
  
          self._set_add_options(error_codes, child_options)
  
          kwargs = dict(checked_codes=error_codes)
          for key in ('match', 'match_dir', 'ignore_decorators'):
              kwargs[key] = \
                  getattr(child_options, key) or getattr(parent_config, key)
          return CheckConfiguration(**kwargs)
docs: Merge parent config into the child options.
  
          The migration process requires an `options` object for the child in
          order to distinguish between mutually exclusive codes, add-select and
          add-ignore error codes.