@@ -22,11 +22,9 @@ exports.check = (client, number, repoName, repoOwner) => {
22
22
owner : repoOwner , repo : repoName , number : number
23
23
} ) . then ( ( pull ) => {
24
24
const mergeable = pull . data . mergeable ;
25
- if ( mergeable ) return ;
26
25
const author = pull . data . user . login ;
27
26
const comment = client . templates . get ( "mergeConflictWarning" ) . replace ( "[username]" , author )
28
27
. replace ( "[repoOwner]" , repoOwner ) . replace ( "[repoName]" , repoName ) ;
29
- const oldComment = "merge conflict" ;
30
28
client . pullRequests . getCommits ( {
31
29
owner : repoOwner , repo : repoName , number : number , per_page : 100
32
30
} ) . then ( ( commits ) => {
@@ -36,9 +34,20 @@ exports.check = (client, number, repoName, repoOwner) => {
36
34
} ) . then ( ( comments ) => {
37
35
const labelComment = comments . data . find ( ( c ) => {
38
36
const synchCheck = lastCommitTime < Date . parse ( c . updated_at ) ;
39
- return c . body . includes ( oldComment ) && synchCheck && c . user . login === client . cfg . username ;
37
+ return c . body . includes ( comment ) && synchCheck && c . user . login === client . cfg . username ;
40
38
} ) ;
41
- if ( ! labelComment ) client . newComment ( pull . data , pull . data . base . repo , comment ) ;
39
+ if ( ! labelComment ) {
40
+ client . newComment ( pull . data , pull . data . base . repo , comment ) ;
41
+ } else if ( mergeable ) {
42
+ const oldComments = comments . data . filter ( ( c ) => {
43
+ return c . body . includes ( comment ) && c . user . login === client . cfg . username ;
44
+ } ) . map ( c => c . id ) ;
45
+ oldComments . forEach ( ( c ) => {
46
+ client . issues . deleteComment ( {
47
+ owner : repoOwner , repo : repoName , id : c
48
+ } ) ;
49
+ } ) ;
50
+ }
42
51
} ) ;
43
52
} ) ;
44
53
} ) ;
0 commit comments