(cmd *cobra.Command, args []string)
| 22 | ) |
| 23 | |
| 24 | func mergeDriverCommand(cmd *cobra.Command, args []string) { |
| 25 | if len(mergeDriverAncestor) == 0 || len(mergeDriverCurrent) == 0 || len(mergeDriverOther) == 0 || len(mergeDriverOutput) == 0 { |
| 26 | Exit(tr.Tr.Get("the --ancestor, --current, --other, and --output options are mandatory")) |
| 27 | } |
| 28 | |
| 29 | fileSpecifiers := make(map[string]string) |
| 30 | gf := lfs.NewGitFilter(cfg) |
| 31 | mergeProcessInput(gf, mergeDriverAncestor, fileSpecifiers, "O") |
| 32 | mergeProcessInput(gf, mergeDriverCurrent, fileSpecifiers, "A") |
| 33 | mergeProcessInput(gf, mergeDriverOther, fileSpecifiers, "B") |
| 34 | mergeProcessInput(gf, "", fileSpecifiers, "D") |
| 35 | |
| 36 | fileSpecifiers["L"] = fmt.Sprintf("%d", mergeDriverMarkerSize) |
| 37 | |
| 38 | if len(mergeDriverProgram) == 0 { |
| 39 | mergeDriverProgram = "git merge-file --stdout --marker-size=%L %A %O %B >%D" |
| 40 | } |
| 41 | |
| 42 | status, err := processFiles(fileSpecifiers, mergeDriverProgram, mergeDriverOutput) |
| 43 | if err != nil { |
| 44 | ExitWithError(err) |
| 45 | } |
| 46 | os.Exit(status) |
| 47 | } |
| 48 | |
| 49 | func processFiles(fileSpecifiers map[string]string, program string, outputFile string) (int, error) { |
| 50 | defer mergeCleanup(fileSpecifiers) |
nothing calls this directly
no test coverage detected