You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by wa...@apache.org on 2022/06/10 03:43:03 UTC

[incubator-devlake] 02/06: fix: fix an error lost before directrun

This is an automated email from the ASF dual-hosted git repository.

warren pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git

commit 2d19b39b8ded3f7bf4df190153aa4403aef23cd9
Author: Nddtfjiang <jz...@qq.com>
AuthorDate: Tue Jun 7 09:43:57 2022 +0000

    fix: fix an error lost before directrun
    
    Add tagsPattern document to readme
    Remove an unuse link in readme.
    Add some comment
    fix an error lost before DirectRun on refdiff.
    
    Nddtfjiang <zh...@merico.dev>
---
 plugins/refdiff/README.md                          | 28 +++++++++++++++++-----
 plugins/refdiff/refdiff.go                         |  5 +++-
 .../refdiff/tasks/ref_commit_diff_calculator.go    |  1 +
 plugins/refdiff/tasks/ref_issue_diff_calculator.go |  1 +
 plugins/refdiff/tasks/refdiff_task_data.go         |  7 +++---
 5 files changed, 32 insertions(+), 10 deletions(-)

diff --git a/plugins/refdiff/README.md b/plugins/refdiff/README.md
index 01f649e3..3c065aea 100644
--- a/plugins/refdiff/README.md
+++ b/plugins/refdiff/README.md
@@ -1,10 +1,4 @@
 # RefDiff
-
-
-| [English](README.md) | [中文](README-zh-CN.md) |
-| --- | --- |
-
-
 ## Summary
 
 For development workload analysis, we often need to know how many commits have been created between 2 releases. This plugin offers the ability to calculate the commits of difference between 2 Ref(branch/tag), and the result will be stored back into database for further analysis.
@@ -90,6 +84,28 @@ and if you want to perform certain subtasks.
   ]
 ]
 ```
+Or you can use tagsPattern to match the tags you want
+And you can use tagOrder (support `alphabetically` and `reverse alphabetically`) to set the order rule with tagLimit to limit the count of matching.
+This is support to calculateCommitsDiff and calculateIssuesDiff
+```json
+[
+  [
+    {
+      "plugin": "refdiff",
+      "subtasks": [
+        "calculateCommitsDiff",
+        "calculateIssuesDiff",
+      ],
+      "options": {
+        "repoId": "github:GithubRepo:384111310",
+        "tagsPattern":".*\\.11\\..*",
+        "tagLimit":3,
+        "tagOrder":"reverse alphabetically",
+      }
+    }
+  ]
+]
+```
 
 2. Curl Mode:
 ```
diff --git a/plugins/refdiff/refdiff.go b/plugins/refdiff/refdiff.go
index 9cfaa1f8..c9c3b9d0 100644
--- a/plugins/refdiff/refdiff.go
+++ b/plugins/refdiff/refdiff.go
@@ -94,7 +94,10 @@ func main() {
 	//_ = refdiffCmd.MarkFlagRequired("old-ref")
 
 	refdiffCmd.Run = func(cmd *cobra.Command, args []string) {
-		tl, _ := strconv.Atoi(*tagsLimit)
+		tl, err := strconv.Atoi(*tagsLimit)
+		if err != nil {
+			panic(err)
+		}
 		pairs := make([]map[string]string, 0, 1)
 		if *newRef == "" && *oldRef == "" {
 			if *tagsPattern == "" {
diff --git a/plugins/refdiff/tasks/ref_commit_diff_calculator.go b/plugins/refdiff/tasks/ref_commit_diff_calculator.go
index 69adb46f..420ed963 100644
--- a/plugins/refdiff/tasks/ref_commit_diff_calculator.go
+++ b/plugins/refdiff/tasks/ref_commit_diff_calculator.go
@@ -27,6 +27,7 @@ import (
 	"gorm.io/gorm/clause"
 )
 
+// Calculate the commits pairs both from Options.Pairs and TagPattern
 func CalculateCommitsPairs(taskCtx core.SubTaskContext) ([][4]string, error) {
 	data := taskCtx.GetData().(*RefdiffTaskData)
 	repoId := data.Options.RepoId
diff --git a/plugins/refdiff/tasks/ref_issue_diff_calculator.go b/plugins/refdiff/tasks/ref_issue_diff_calculator.go
index 3a80482d..5b9d92a7 100644
--- a/plugins/refdiff/tasks/ref_issue_diff_calculator.go
+++ b/plugins/refdiff/tasks/ref_issue_diff_calculator.go
@@ -26,6 +26,7 @@ import (
 	"github.com/apache/incubator-devlake/plugins/helper"
 )
 
+// Calculate the pair list both from Options.Pairs and TagPattern
 func CaculatePairList(taskCtx core.SubTaskContext) ([][2]string, error) {
 	data := taskCtx.GetData().(*RefdiffTaskData)
 	repoId := data.Options.RepoId
diff --git a/plugins/refdiff/tasks/refdiff_task_data.go b/plugins/refdiff/tasks/refdiff_task_data.go
index c2b364fc..648f671e 100644
--- a/plugins/refdiff/tasks/refdiff_task_data.go
+++ b/plugins/refdiff/tasks/refdiff_task_data.go
@@ -32,9 +32,9 @@ type RefdiffOptions struct {
 	Tasks  []string `json:"tasks,omitempty"`
 	Pairs  []RefPair
 
-	TagsPattern string
-	TagsLimit   int
-	TagsOrder   string
+	TagsPattern string // The Pattern to match from all tags
+	TagsLimit   int    // How many tags be matched should be used.
+	TagsOrder   string // The Rule to Order the tag list
 }
 
 type RefdiffTaskData struct {
@@ -79,6 +79,7 @@ func (rs RefsReverseAlphabetically) Swap(i, j int) {
 	rs[i], rs[j] = rs[j], rs[i]
 }
 
+// Calculate the TagPattern order by tagsOrder and return the Refs
 func CaculateTagPattern(taskCtx core.SubTaskContext) (Refs, error) {
 	rs := Refs{}
 	data := taskCtx.GetData().(*RefdiffTaskData)