Monorepo management for opam overlays
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

monopam push: table for push results, cleaner progress labels

+50 -19
+1 -1
lib/opam_sync.ml
··· 157 157 sync_package ~sw ~fs ~opam_repo pkg) 158 158 pkgs 159 159 in 160 - Tty.Progress.finish ~message:(label ^ " done") progress; 160 + Tty.Progress.finish ~message:"synced" progress; 161 161 sync_results 162 162 163 163 let commit_sync_result ~sw ~fs ~opam_repo result =
+49 -18
lib/push.ml
··· 440 440 | Error (name, url, _) -> Right (name, url)) 441 441 push_results 442 442 in 443 - List.iter 444 - (fun (name, url) -> Log.app (fun m -> m " ✓ %s → %s" name url)) 445 - successes; 446 - List.iter 447 - (fun (name, url) -> Log.app (fun m -> m " ✗ %s → %s" name url)) 448 - failures; 443 + if successes <> [] || failures <> [] then begin 444 + let rows = 445 + List.map 446 + (fun (name, url) -> 447 + [ 448 + Tty.Span.styled Tty.Style.(fg Tty.Color.green) "✓"; 449 + Tty.Span.text name; 450 + Tty.Span.text url; 451 + ]) 452 + successes 453 + @ List.map 454 + (fun (name, url) -> 455 + [ 456 + Tty.Span.styled Tty.Style.(fg Tty.Color.red) "✗"; 457 + Tty.Span.text name; 458 + Tty.Span.text url; 459 + ]) 460 + failures 461 + in 462 + let table = 463 + Tty.Table.( 464 + of_rows ~border:Tty.Border.rounded 465 + [ 466 + column ~align:`Center " "; 467 + column ~align:`Left "Package"; 468 + column ~align:`Left "Remote"; 469 + ] 470 + rows) 471 + in 472 + Log.app (fun m -> m "%s" (Tty.Table.to_string table)) 473 + end; 449 474 match List.find_opt Result.is_error push_results with 450 475 | Some (Error (_, _, e)) -> Error e 451 476 | _ -> Ok () ··· 703 728 (match Git.Repository.read_ref git_repo "HEAD" with 704 729 | Some head -> 705 730 let prefixes = List.map Package.subtree_prefix repos in 706 - let split_progress = 707 - Tty.Progress.v 708 - ~color:(`Hex (0x10, 0xc6, 0xe6)) 709 - ~total:1 "splitting subtrees" 710 - in 711 - let n_prefixes = List.length prefixes in 731 + let split_progress = ref None in 712 732 let on_progress ~processed ~total = 713 - if Tty.Progress.position split_progress = 0 then 714 - Tty.Progress.reset split_progress ~total 715 - (Fmt.str "Splitting %d subtrees" n_prefixes); 716 - Tty.Progress.set split_progress processed 733 + let bar = 734 + match !split_progress with 735 + | Some b -> b 736 + | None -> 737 + let b = 738 + Tty.Progress.v 739 + ~color:(`Hex (0x10, 0xc6, 0xe6)) 740 + ~total "splitting" 741 + in 742 + split_progress := Some b; 743 + b 744 + in 745 + Tty.Progress.set bar processed 717 746 in 718 747 ignore 719 748 (Git.Subtree.split_batch git_repo ~prefixes ~head ~on_progress () 720 749 : _ list); 721 - Tty.Progress.finish ~message:"done" split_progress 750 + Option.iter 751 + (fun b -> Tty.Progress.finish ~message:"split" b) 752 + !split_progress 722 753 | None -> ()); 723 754 let progress = 724 755 Tty.Progress.v ~color:(`Hex (0x27, 0xda, 0xde)) ~total "exporting" ··· 746 777 pushed_repos 747 778 in 748 779 let n_pushed = List.length pushed_repos in 749 - Tty.Progress.finish ~message:"repos exported" progress; 780 + Tty.Progress.finish ~message:"exported" progress; 750 781 let n_missing = List.length missing in 751 782 log_missing_repos ~all_pkgs missing; 752 783 match log_push_results push_results with