roundabout,
created on Wednesday, 1 January 2025, 17:47:57 (1735753677),
received on Wednesday, 1 January 2025, 17:48:00 (1735753680)
Author identity: vlad <vlad.muntoiu@gmail.com>
5c695d2ece49db8d72aa969ee2e371691c52b5b1
celery_tasks.py
@@ -10,6 +10,7 @@ from smtplib import SMTP
from celery.utils.log import get_task_logger from sqlalchemy.orm import make_transient from datetime import datetime import httpx@shared_task(ignore_result=False)
@@ -116,6 +117,22 @@ def merge_heads(head_route, head_branch, base_route, base_branch, pr_id, simulat
elif method == "rebase": out, err, merge_exit = common.git_command(server_repo_location, b"", "rebase", f"heads/{head_branch}", return_err=True, return_exit=True) # Add the merge commit. if method == "merge": last_commit = common.git_command(server_repo_location, b"", "log", "--pretty=format:\"%H\"", "-n", "1").strip().decode() last_commit_info = common.git_command(server_repo_location, b"", "show", "-s", "--format='%H%n%at%n%cn <%ce>%n%B'", last_commit).strip().decode() if not db.session.get(Commit, f"{base_route}/{last_commit}"): sha, time, identity, body = last_commit_info.split("\n", 3) if not db.session.get(Commit, f"/{base_route}/{sha}"): commit = Commit(sha, db.session.get(User, username), db.session.get(Repo, base_route), time, body, identity, db.session.get(User, username)) db.session.add(commit) pull_request.state = 1 for resolves in pull_request.resolves:
@@ -198,6 +215,18 @@ def merge_heads(head_route, head_branch, base_route, base_branch, pr_id, simulat
commit_data.pusher = db.session.get(User, username) db.session.add(commit_data) # Add the merge commit. if method == "merge": last_commit = common.git_command(server_repo_location, b"", "log", "--pretty=format:\"%H\"", "-n", "1").strip().decode() last_commit_info = common.git_command(server_repo_location, b"", "show", "-s", "--format='%H%n%at%n%cn <%ce>%n%B'", last_commit).strip().decode().split("\n") err += part_err if not db.session.get(Commit, f"{base_route}/{last_commit}"): sha, time, identity, body = last_commit_info.split("\n", 3) if not db.session.get(Commit, f"/{base_route}/{sha}"): commit = Commit(sha, db.session.get(User, username), db.session.get(Repo, base_route), time, body, identity, db.session.get(User, username)) db.session.add(commit) # Consider the PR merged. pull_request.state = 1
models.py
@@ -220,12 +220,15 @@ with (app.app_context()):
comments = db.relationship("Comment", back_populates="commit") def __init__(self, sha, owner, repo, date, message, owner_identity, pusher):def __init__(self, sha, owner, repo, date, message, owner_identity, pusher, owner_name=None):self.identifier = f"{repo.route}/{sha}" self.sha = sha self.repo_name = repo.route self.repo = repo self.owner_name = owner.usernameif not owner: self.owner_name = owner_name else: self.owner_name = owner.usernameself.pusher_name = pusher.username self.pusher = pusher self.author_date = datetime.fromtimestamp(int(date))
requirements.txt
@@ -47,4 +47,5 @@ flask_migrate
flask_httpauth flask_babel pygments jinja2-fragmentsjinja2-fragments~=0.3.0 httpx~=0.28.1