Kaynağa Gözat

Release: Improved cherry pick task (#17087)

* Release: Improved cherry pick task

* Minor tweak to formatting
Torkel Ödegaard 6 yıl önce
ebeveyn
işleme
058f5a1682
1 değiştirilmiş dosya ile 15 ekleme ve 5 silme
  1. 15 5
      scripts/cli/tasks/cherrypick.ts

+ 15 - 5
scripts/cli/tasks/cherrypick.ts

@@ -16,22 +16,32 @@ const cherryPickRunner: TaskRunner<CherryPickOptions> = async () => {
     },
   });
 
-  // sort by closed date
+  // sort by closed date ASC
   res.data.sort(function(a, b) {
-    return new Date(b.closed_at).getTime() - new Date(a.closed_at).getTime();
+    return new Date(a.closed_at).getTime() - new Date(b.closed_at).getTime();
   });
 
+  let commands = '';
+
+  console.log('--------------------------------------------------------------------');
+  console.log('Printing PRs with cherry-pick-needed, in ASC merge date order');
+  console.log('--------------------------------------------------------------------');
+
   for (const item of res.data) {
     if (!item.milestone) {
       console.log(item.number + ' missing milestone!');
       continue;
     }
 
-    console.log(`${item.title} (${item.number}) closed_at ${item.closed_at}`);
-    console.log(`\tURL: ${item.closed_at} ${item.html_url}`);
     const issueDetails = await client.get(item.pull_request.url);
-    console.log(`\tMerge sha: ${issueDetails.data.merge_commit_sha}`);
+    console.log(`* ${item.title}, (#${item.number}), merge-sha: ${issueDetails.data.merge_commit_sha}`);
+    commands += `git cherry-pick -x ${issueDetails.data.merge_commit_sha}\n`;
   }
+
+  console.log('--------------------------------------------------------------------');
+  console.log('Commands (in order of how they should be executed)');
+  console.log('--------------------------------------------------------------------');
+  console.log(commands);
 };
 
 export const cherryPickTask = new Task<CherryPickOptions>();