| 447 | } |
| 448 | |
| 449 | func splitCSV(value string) []string { |
| 450 | parts := strings.Split(value, ",") |
| 451 | out := make([]string, 0, len(parts)) |
| 452 | for _, part := range parts { |
| 453 | part = strings.TrimSpace(part) |
| 454 | if part != "" { |
| 455 | out = append(out, part) |
| 456 | } |
| 457 | } |
| 458 | return out |
| 459 | } |
| 460 | |
| 461 | func usageError(message string) error { |
| 462 | usage := fmt.Sprintf("usage:\n %s --source-url <repo> [flags]\n\nflags:\n --scenario bootstrap|sync\n --repeat 3\n --work-dir /tmp/git-sync-bench\n --keep-targets\n --json\n --branch main,release\n --map main:stable\n --tags\n --force-with-lease\n --force-blind\n --prune\n --stats\n --measure-memory\n --max-pack-bytes 104857600\n --target-max-pack-bytes 104857600\n --protocol auto|v1|v2\n -v\n", os.Args[0]) |