@@ -40,7 +40,20 @@ def run(self, args):
4040 with TemporaryDirectory (prefix = "git-obs-staging_" , dir = "." , delete = not args .keep_temp_dir ) as temp_dir :
4141 # get pull request data from gitea
4242 target = gitea_api .StagingPullRequestWrapper (self .gitea_conn , target_owner , target_repo , target_number , topdir = temp_dir )
43- pr_map = {} # {(owner, repo, number):.
43+
44+ # check if the specified references match actual references in the project pull request
45+ refs = target .pr_obj .parse_pr_references ()
46+ refs = [(owner .lower (), repo .lower (), number ) for owner , repo , number in refs ]
47+ missing_refs = []
48+ for owner , repo , number in args .pr_list :
49+ if (owner , repo , number ) not in refs :
50+ missing_refs .append (f"{ owner } /{ repo } #{ number } " )
51+ if missing_refs :
52+ msg = f"The following pull requests are not referenced in the project pull request: { ', ' .join (missing_refs )} "
53+ raise gitea_api .GitObsRuntimeError (msg )
54+
55+ # get pull request data from gitea
56+ pr_map = {}
4457 for owner , repo , number in args .pr_list :
4558 pr = gitea_api .StagingPullRequestWrapper (self .gitea_conn , owner , repo , number , topdir = temp_dir )
4659 pr_map [(owner .lower (), repo .lower (), number )] = pr
0 commit comments