@@ -73,19 +73,21 @@ pub(super) async fn command_try_build(
73
73
. await ?;
74
74
return Ok ( ( ) ) ;
75
75
}
76
+ } else if Some ( Parent :: Last ) == parent {
77
+ tracing:: warn!( "try build was requested with parent=last but no previous build was found" ) ;
78
+ repo. client
79
+ . post_comment ( pr. number , cant_find_last_parent_comment ( ) )
80
+ . await ?;
81
+ return Ok ( ( ) ) ;
76
82
}
77
83
78
84
let base_sha = match get_base_sha ( & pr_model, parent) {
79
- Ok ( Some ( base_sha) ) => base_sha,
80
- Ok ( None ) => repo
85
+ Some ( base_sha) => base_sha,
86
+ None => repo
81
87
. client
82
88
. get_branch_sha ( & pr. base . name )
83
89
. await
84
90
. context ( format ! ( "Cannot get SHA for branch {}" , pr. base. name) ) ?,
85
- Err ( comment) => {
86
- repo. client . post_comment ( pr. number , comment) . await ?;
87
- return Ok ( ( ) ) ;
88
- }
89
91
} ;
90
92
91
93
match attempt_merge (
@@ -176,25 +178,18 @@ enum MergeResult {
176
178
Conflict ,
177
179
}
178
180
179
- fn get_base_sha (
180
- pr_model : & PullRequestModel ,
181
- parent : Option < Parent > ,
182
- ) -> Result < Option < CommitSha > , Comment > {
183
- let last_parent = if let Some ( ref build) = pr_model. try_build {
184
- Some ( CommitSha ( build. parent . clone ( ) ) )
185
- } else {
186
- None
187
- } ;
181
+ fn get_base_sha ( pr_model : & PullRequestModel , parent : Option < Parent > ) -> Option < CommitSha > {
182
+ let last_parent = pr_model
183
+ . try_build
184
+ . as_ref ( )
185
+ . map ( |build| CommitSha ( build. parent . clone ( ) ) ) ;
188
186
189
187
match parent. clone ( ) {
190
188
Some ( parent) => match parent {
191
- Parent :: Last => match last_parent {
192
- None => Err ( cant_find_last_parent_comment ( ) ) ,
193
- Some ( last_parent) => Ok ( Some ( last_parent) ) ,
194
- } ,
195
- Parent :: CommitSha ( parent) => Ok ( Some ( parent) ) ,
189
+ Parent :: Last => last_parent,
190
+ Parent :: CommitSha ( parent) => Some ( parent) ,
196
191
} ,
197
- None => Ok ( None ) ,
192
+ None => None ,
198
193
}
199
194
}
200
195
0 commit comments