aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2024-08-09 12:40:12 +0200
committerTaras Madan <tarasmadan@google.com>2024-08-09 11:01:02 +0000
commita9e7e9e3a26f5e19a9d96c1a27717aa83e0bdbcd (patch)
treef21fb2bb297551db2fc545c9fc5867a93bbfcba0 /tools
parenta83d9288459602ce6ab098f191eb2c7a923128c5 (diff)
covermerger: add web-git source provider
It allows to speed up the single file calculations because we don't need git clone.
Diffstat (limited to 'tools')
-rw-r--r--tools/syz-covermerger/syz_covermerger.go14
1 files changed, 13 insertions, 1 deletions
diff --git a/tools/syz-covermerger/syz_covermerger.go b/tools/syz-covermerger/syz_covermerger.go
index 2f2d820a7..d3b9de2ae 100644
--- a/tools/syz-covermerger/syz_covermerger.go
+++ b/tools/syz-covermerger/syz_covermerger.go
@@ -31,8 +31,20 @@ var (
flagTotalRows = flag.Int64("total-rows", 0, "[optional] source size, is used for version contol")
flagToDashAPI = flag.String("to-dashapi", "", "[optional] dashapi address")
flagDashboardClientName = flag.String("dashboard-client-name", "coverage-merger", "[optional]")
+ flagSrcProvider = flag.String("provider", "git-clone", "[optional] git-clone or web-git")
)
+func makeProvider() covermerger.FileVersProvider {
+ switch *flagSrcProvider {
+ case "git-clone":
+ return covermerger.MakeMonoRepo(*flagWorkdir)
+ case "web-git":
+ return covermerger.MakeWebGit()
+ default:
+ panic(fmt.Sprintf("unknown provider %v", *flagSrcProvider))
+ }
+}
+
func main() {
flag.Parse()
config := &covermerger.Config{
@@ -43,7 +55,7 @@ func main() {
Branch: *flagBranch,
Commit: *flagCommit,
},
- FileVersProvider: covermerger.MakeMonoRepo(*flagWorkdir),
+ FileVersProvider: makeProvider(),
}
mergeResult, err := covermerger.MergeCSVData(config, os.Stdin)
if err != nil {