def _create_tag_highlevel(self, tag_name, message=None):
results = []<EOL>if self.patch_path:<EOL><INDENT>tagged = self._create_tag_lowlevel(tag_name, message=message,<EOL>patch=True)<EOL>if tagged:<EOL><INDENT>results.append({'<STR_LIT:type>': '<STR_LIT>', '<STR_LIT>': True})<EOL><DEDENT>self.hg('<STR_LIT>', '<STR_LIT>', tag_name)<EOL>results.append({'<STR_LIT:type>': '<STR_LIT>', '<STR_LIT>': False})<EOL><DEDENT>else:<EOL><INDENT>tagged = self._create_tag_lowlevel(tag_name, message=message,<EOL>patch=False)<EOL>if tagged:<EOL><INDENT>results.append({'<STR_LIT:type>': '<STR_LIT>', '<STR_LIT>': False})<EOL><DEDENT><DEDENT>return results<EOL>
Create a tag on the toplevel repo if there is no patch repo,
        or a tag on the patch repo and bookmark on the top repo if there is a
        patch repo

        Returns a list where each entry is a dict for each bookmark or tag
        created, which looks like {'type': ('bookmark' or 'tag'), 'patch': bool}