code: def _create_tag_highlevel(self, tag_name, message=None):
          
          results = []
          if self.patch_path:
              # make a tag on the patch queue
              tagged = self._create_tag_lowlevel(tag_name, message=message,
                                                 patch=True)
              if tagged:
                  results.append({'type': 'tag', 'patch': True})
  
              # use a bookmark on the main repo since we can't change it
              self.hg('bookmark', '-f', tag_name)
              results.append({'type': 'bookmark', 'patch': False})
          else:
              tagged = self._create_tag_lowlevel(tag_name, message=message,
                                                 patch=False)
              if tagged:
                  results.append({'type': 'tag', 'patch': False})
          return results
docs: 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}