'Add options from parser to self. In case of conflicts, conflicting options from
parser are skipped.'

def merge(self, parser):

    opts = list(parser.option_list)
    groups = list(parser.option_groups)
    def merge_options(options, container):
        for opt in deepcopy(options):
            if (not self.has_option(opt.get_opt_string())):
                container.add_option(opt)
    merge_options(opts, self)
    for group in groups:
        g = self.add_option_group(group.title)
        merge_options(group.option_list, g)
