roundabout,
created on Wednesday, 17 July 2024, 12:35:34 (1721219734),
received on Wednesday, 31 July 2024, 06:54:51 (1722408891)
Author identity: vlad <vlad.muntoiu@gmail.com>
cebfbbd18a1fd2d56ac01c37813417ad892fef95
app.py
@@ -1584,6 +1584,7 @@ def repository_prs_merge(username, repository):
pull_request.head_branch, pull_request.base_route, pull_request.base_branch, pull_request.id,simulate=True ) task_result = worker.AsyncResult(result.id)
@@ -1619,11 +1620,11 @@ def repository_prs_merge_stage_two(username, repository, id):
pull_request.head_branch, pull_request.base_route, pull_request.base_branch, pull_request.id,simulate=False ) task_result = worker.AsyncResult(result.id) pull_request.state = 1db.session.commit() return flask.redirect(f"/task/{result.id}?pr-id={id}", 303)
celery_tasks.py
@@ -72,9 +72,10 @@ def send_notification(user_notification_id):
@shared_task(ignore_result=False) def merge_heads(head_route, head_branch, base_route, base_branch, simulate=True):from models import Repo, Commitdef merge_heads(head_route, head_branch, base_route, base_branch, pr_id, simulate=True): from models import Repo, Commit, PullRequestserver_repo_location = os.path.join(config.REPOS_PATH, base_route.lstrip("/")) pull_request = db.session.get(PullRequest, pr_id)if not os.path.isdir(server_repo_location): raise FileNotFoundError(f"Repo {server_repo_location} not found, cannot merge.")
@@ -90,6 +91,13 @@ def merge_heads(head_route, head_branch, base_route, base_branch, simulate=True)
out, err, merge_exit = common.git_command(server_repo_location, b"", "merge", f"heads/{head_branch}", return_err=True, return_exit=True) pull_request.state = 1 for resolves in pull_request.resolves: resolves.post.state = 0 db.session.commit() new_commits = common.git_command(server_repo_location, b"", "log", "--oneline", f"heads/{base_branch}..heads/{head_branch}") return "merge_simulator" if simulate else "merge", out, err, head_route, head_branch, base_route, base_branch, merge_exit, new_commits
@@ -144,6 +152,12 @@ def merge_heads(head_route, head_branch, base_route, base_branch, simulate=True)
commit_data.receive_date = datetime.now() db.session.add(commit_data) # Consider the PR merged. pull_request.state = 1 for resolves in pull_request.resolves: resolves.post.state = 0 db.session.commit() return "merge_simulator" if simulate else "merge", out, err, head_route, head_branch, base_route, base_branch, merge_exit, new_commits