From 36b93e9852bd40d48e0c19f1856d4ebe1d0ef156 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Thu, 4 Aug 2005 15:35:03 +0000 Subject: [PATCH] If state or responsible is being changed, use the CVS message as the change reason and don't separately append to the audit trail. Remove trailing newlines from state and responsible before testing against new value. Do a send_followup() if neither responsible nor state is being changed. --- exec/gnats_cvs.js | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/exec/gnats_cvs.js b/exec/gnats_cvs.js index d5cd7a8438..8cd9381314 100755 --- a/exec/gnats_cvs.js +++ b/exec/gnats_cvs.js @@ -31,21 +31,29 @@ while((pr=myRe.exec(logmsg))!=undefined) { stateprs[pr[1]]=pr[2]; } -for(pr in auditprs) { - if(name != gnats.get_field(pr,"Responsible")) { - log("Changeing responsible to "+name+" for PR: "+pr); - if(!gnats.replace(pr, "Responsible", name, "CVS Commit")) +for(pr in stateprs) { + var oldstate = gnats.get_field(pr,"State"); + oldstate = oldstate.replace(/[\r\n]/g,''); + if(stateprs[pr] != oldstate) { + log("Changeing state of PR: "+pr+" to "+stateprs[pr]); + if(!gnats.replace(pr, "State", stateprs[pr], logmsg)) handle_error(); + else + delete auditprs[pr]; } - log("Appending log info to PR: "+pr); - if(!gnats.append(pr,"Audit-Trail", logmsg, "CVS Commit")) - handle_error(); } -for(pr in stateprs) { - if(stateprs[pr] != gnats.get_field(pr,"State")) { - log("Changeing state of PR: "+pr+" to "+stateprs[pr]); - if(!gnats.replace(pr, "State", stateprs[pr], "CVS Commit")) +for(pr in auditprs) { + var oldname = gnats.get_field(pr,"Responsible"); + oldname = oldname.replace(/[\r\n]/g,''); + if(name != oldname) { + log("Changeing responsible to "+name+" for PR: "+pr); + if(!gnats.replace(pr, "Responsible", name, logmsg)) + handle_error(); + } + else { + log("Sending followup to PR: "+pr); + if(!gnats.send_followup(pr, name, name, logmsg)) handle_error(); } } -- GitLab