docs: def migrate_repo(self, auth, clone_addr,
                       uid, repo_name, auth_username=None, auth_password=None,
                       mirror=False, private=False, description=None):
          """
          Migrate a repository from another Git hosting source for the authenticated user.
  
          :param auth.Authentication auth: authentication object
          :param str clone_addr: Remote Git address (HTTP/HTTPS URL or local path)
          :param int uid: user ID of repository owner
          :param str repo_name: Repository name
          :param bool mirror: Repository will be a mirror. Default is false
          :param bool private: Repository will be private. Default is false
          :param str description: Repository description
          :return: a representation of the migrated repository
          :rtype: GogsRepo
          :raises NetworkFailure: if there is an error communicating with the server
          :raises ApiFailure: if the request cannot be serviced
          """
          # "auth_username": auth_username,
          # "auth_password": auth_password,
  
          data = {
              "clone_addr": clone_addr,
              "uid": uid,
              "repo_name": repo_name,
              "mirror": mirror,
              "private": private,
              "description": description,
          }
          data = {k: v for (k, v) in data.items() if v is not None}
          url = "/repos/migrate"
          response = self.post(url, auth=auth, data=data)
          return GogsRepo.from_json(response.json())