def _SingleBranch(self, opt, branch):
    project = branch.project
    name = branch.name
    remote = project.GetBranch(name).remote

    date = branch.date
    commit_list = branch.commits

    destination = opt.dest_branch or project.dest_branch or project.revisionExpr
    print('Push project %s/ to remote branch %s:' % (project.relpath, destination))
    print('  branch %s (%2d commit%s, %s):' % (
                  name,
                  len(commit_list),
                  len(commit_list) != 1 and 's' or '',
                  date))
    for commit in commit_list:
      print('         %s' % commit)

    sys.stdout.write('to %s (y/N)? ' % remote.name)
    answer = sys.stdin.readline().strip().lower()
    answer = answer in ('y', 'yes', '1', 'true', 't')

    if answer:
      if len(branch.commits) > UNUSUAL_COMMIT_THRESHOLD:
        answer = _ConfirmManyPushs()

    if answer:
      self._Push(opt, [branch])
    else:
      _die("push aborted by user")
dataset/ETHPy150Open esrlabs/git-repo/subcmds/push.py/Push._SingleBranch/original