docs: def on_revert(request, page_name):
      """Revert an old revision."""
      rev_id = request.args.get("rev", type=int)
  
      old_revision = page = None
      error = "No such revision"
  
      if request.method == "POST" and request.form.get("cancel"):
          return redirect(href(page_name))
  
      if rev_id:
          old_revision = Revision.query.filter(
              (Revision.revision_id == rev_id)
              & (Revision.page_id == Page.page_id)
              & (Page.name == page_name)
          ).first()
          if old_revision:
              new_revision = (
                  Revision.query.filter(
                      (Revision.page_id == Page.page_id) & (Page.name == page_name)
                  )
                  .order_by(Revision.revision_id.desc())
                  .first()
              )
              if old_revision == new_revision:
                  error = "You tried to revert the current active revision."
              elif old_revision.text == new_revision.text:
                  error = (
                      "There are no changes between the current "
                      "revision and the revision you want to "
                      "restore."
                  )
              else:
                  error = ""
                  page = old_revision.page
                  if request.method == "POST":
                      change_note = request.form.get("change_note", "")
                      change_note = "revert" + (change_note and ": " + change_note or "")
                      session.add(Revision(page, old_revision.text, change_note))
                      session.commit()
                      return redirect(href(page_name))
  
      return Response(
          generate_template(
              "action_revert.html", error=error, old_revision=old_revision, page=page
          )
      )