From a4c139b0debce37164c524d14d12b45f38dd86f1 Mon Sep 17 00:00:00 2001 From: Mathieu Barbin Date: Mon, 19 Aug 2024 19:33:38 +0200 Subject: [PATCH 1/6] Assorted changes - prepare 0.0.5 --- CHANGES.md | 8 + bin/dune | 2 +- bin/main.ml | 15 +- doc/blog/authors.yml | 2 +- doc/docs/tests/exploratory_tests.md | 146 ++++-- dune-project | 42 +- headache.sh | 4 +- lib/vcs/src/platform.ml | 2 +- lib/vcs/src/platform.mli | 2 +- lib/vcs/src/tree.mli | 2 +- lib/vcs/test/test__platform.ml | 2 +- lib/vcs/test/test__tag_name.ml | 8 + lib/{vcs_param => vcs_arg}/src/dune | 10 +- .../vcs_param.ml => vcs_arg/src/vcs_arg.ml} | 94 ++-- .../vcs_param.mli => vcs_arg/src/vcs_arg.mli} | 56 ++- lib/{vcs_param => vcs_arg}/test/dune | 6 +- .../test/test__vcs_arg.ml} | 8 +- .../test/test__vcs_arg.mli} | 0 lib/vcs_command/src/dune | 8 +- lib/vcs_command/src/vcs_command.ml | 443 +++++++++--------- lib/vcs_command/src/vcs_command.mli | 2 +- test/cram/run.t | 136 ++++-- vcs-param.opam => vcs-arg.opam | 4 +- vcs-command.opam | 7 +- vcs-git-blocking.opam | 2 +- vcs-git.opam | 2 +- vcs-test-helpers.opam | 2 +- vcs-tests.opam | 5 +- vcs.opam | 2 +- 29 files changed, 585 insertions(+), 437 deletions(-) rename lib/{vcs_param => vcs_arg}/src/dune (70%) rename lib/{vcs_param/src/vcs_param.ml => vcs_arg/src/vcs_arg.ml} (74%) rename lib/{vcs_param/src/vcs_param.mli => vcs_arg/src/vcs_arg.mli} (65%) rename lib/{vcs_param => vcs_arg}/test/dune (86%) rename lib/{vcs_param/test/test__vcs_param.ml => vcs_arg/test/test__vcs_arg.ml} (90%) rename lib/{vcs_param/test/test__vcs_param.mli => vcs_arg/test/test__vcs_arg.mli} (100%) rename vcs-param.opam => vcs-arg.opam (92%) diff --git a/CHANGES.md b/CHANGES.md index 86660f4..4709846 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,11 @@ +## 0.0.5 (2024-08-19) + +### Changed + +- Renamed `vcs_param` to `vcs_arg` to match commandlang conventions. +- Switch commands to new library `commandlang` with `cmdliner` backend. +- Upgrade `provider` to `0.0.8`. + ## 0.0.4 (2024-08-05) Release a version compatible with the latest renames in the provider library. diff --git a/bin/dune b/bin/dune index 0725f7e..febceb3 100644 --- a/bin/dune +++ b/bin/dune @@ -3,6 +3,6 @@ (public_name ocaml-vcs) (package vcs-command) (flags :standard -w +a-4-40-41-42-44-45-48-66 -warn-error +a) - (libraries command-unix-for-opam vcs-command) + (libraries base cmdliner commandlang commandlang-to-cmdliner vcs-command) (instrumentation (backend bisect_ppx))) diff --git a/bin/main.ml b/bin/main.ml index 238e30b..d2f0ed0 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -19,4 +19,17 @@ (* and , respectively. *) (*******************************************************************************) -let () = Command_unix_for_opam.run Vcs_command.main +let () = + match + Cmdliner.Cmd.eval_value' + (Commandlang_to_cmdliner.Translate.command + Vcs_command.main + ~name:"ocaml-vcs" + ~version:"%%VERSION%%") + with + | `Ok (Ok ()) -> () + | `Exit code -> Stdlib.exit code + | `Ok (Error err) -> + prerr_endline (Base.Error.to_string_hum err); + Stdlib.exit 1 +;; diff --git a/doc/blog/authors.yml b/doc/blog/authors.yml index 786b125..15a63bd 100644 --- a/doc/blog/authors.yml +++ b/doc/blog/authors.yml @@ -1,5 +1,5 @@ mbarbin: name: Mathieu Barbin - title: Maintainer of ocaml-vcs + title: Author & Maintainer of ocaml-vcs url: https://github.com/mbarbin image_url: https://github.com/mbarbin.png diff --git a/doc/docs/tests/exploratory_tests.md b/doc/docs/tests/exploratory_tests.md index 455f1c3..8e9a571 100644 --- a/doc/docs/tests/exploratory_tests.md +++ b/doc/docs/tests/exploratory_tests.md @@ -9,57 +9,99 @@ Whether you're testing new features, diagnosing problems, or seeking to understa Below is a quick overview of the commands available in `ocaml-vcs`: ```bash -$ ocaml-vcs help -expand-dots -flags -recursive -call a command from the vcs interface - - ocaml-vcs SUBCOMMAND - -This is an executable to test the Version Control System (vcs) library. - -We expect a 1:1 mapping between the function exposed in the [Vcs.S] and the -sub commands exposed here, plus additional functionality in [more-tests]. - -=== subcommands and flags === - - add . add a file to the index - commit . commit a file - commit --message MSG, -m . commit message - commit [--quiet], -q . suppress output on success - current-branch . current branch - current-revision . revision of HEAD - git . run the git cli - git [--] . pass the remaining args to git - init . initialize a new repository - init [--quiet], -q . suppress output on success - load-file . print a file from the filesystem (aka cat) - log . show the log of current repo - ls-files . list file - ls-files [--below PATH] . only below path - more-tests . more tests combining vcs functions - more-tests branch-revision . revision of a branch - more-tests gca . print greatest common ancestors of revisions - name-status . show a summary of the diff between 2 revs - num-status . show a summary of the number of lines of diff - between 2 revs - refs . show the refs of current repo - rename-current-branch . move/rename a branch to a new name - save-file . save stdin to a file from the filesystem (aka - tee) - set-user-config . set the user config - set-user-config --user.email EMAIL - . user email - set-user-config --user.name USER - . user name - show-file-at-rev . show the contents of file at a given revision - show-file-at-rev --rev REV, -r - . revision - tree . compute tree of current repo - version . print version information - version [-build-info] . print build info for this build - version [-version] . print the version of this build - help . explain a given subcommand (perhaps recursively) - help [-expand-dots] . expand subcommands in recursive help - help [-flags] . show flags as well in recursive help - help [-recursive] . show subcommands of subcommands, etc. +$ ocaml-vcs --help=plain +NAME + ocaml-vcs - call a command from the vcs interface + +SYNOPSIS + ocaml-vcs COMMAND … + + + + This is an executable to test the Version Control System (vcs) + library. + + + + We expect a 1:1 mapping between the function exposed in the [Vcs.S] + and the sub commands exposed here, plus additional functionality in + [more-tests]. + + + +COMMANDS + add [OPTION]… file + add a file to the index + + commit [--message=MSG] [--quiet] [OPTION]… + commit a file + + current-branch [OPTION]… + current branch + + current-revision [OPTION]… + revision of HEAD + + git [OPTION]… [ARG]… + run the git cli + + init [--quiet] [OPTION]… file + initialize a new repository + + load-file [OPTION]… file + print a file from the filesystem (aka cat) + + log [OPTION]… + show the log of current repo + + ls-files [--below=PATH] [OPTION]… + list file + + more-tests COMMAND … + more tests combining vcs functions + + name-status [OPTION]… rev rev + show a summary of the diff between 2 revs + + num-status [OPTION]… rev rev + show a summary of the number of lines of diff between 2 revs + + refs [OPTION]… + show the refs of current repo + + rename-current-branch [OPTION]… branch + move/rename a branch to a new name + + save-file [OPTION]… file + save stdin to a file from the filesystem (aka tee) + + set-user-config [--user.email=EMAIL] [--user.name=USER] [OPTION]… + set the user config + + show-file-at-rev [--rev=REV] [OPTION]… file + show the contents of file at a given revision + + tree [OPTION]… + compute tree of current repo + +COMMON OPTIONS + --help[=FMT] (default=auto) + Show this help in format FMT. The value FMT must be one of auto, + pager, groff or plain. With auto, the format is pager or plain + whenever the TERM env var is dumb or undefined. + + --version + Show version information. + +EXIT STATUS + ocaml-vcs exits with: + + 0 on success. + + 123 on indiscriminate errors reported on standard error. + + 124 on command line parsing errors. + + 125 on unexpected internal errors (bugs). ``` diff --git a/dune-project b/dune-project index d432d9b..f361ba6 100644 --- a/dune-project +++ b/dune-project @@ -71,13 +71,13 @@ (ppxlib (>= 0.33)) (provider - (>= 0.0.7)) + (>= 0.0.8)) (vcs-private-libs-base (= :version)))) (package - (name vcs-param) - (synopsis "[Command.Param] helpers for the Vcs library") + (name vcs-arg) + (synopsis "[Command.Arg] helpers for the Vcs library") (depends (ocaml (>= 5.2)) @@ -89,10 +89,8 @@ (and :dev (>= 2.8.3))) - (core - (and - (>= v0.17) - (< v0.18))) + (commandlang + (>= 0.0.1~preview-0.1)) (eio (>= 1.0)) (fpath @@ -153,12 +151,12 @@ (and :dev (>= 2.8.3))) - (command-unix-for-opam - (>= 0.0.2)) - (core - (and - (>= v0.17) - (< v0.18))) + (cmdliner + (= 1.3.0)) + (commandlang + (>= 0.0.1~preview-0.1)) + (commandlang-to-cmdliner + (>= 0.0.1~preview-0.1)) (eio (>= 1.0)) (eio_main @@ -204,9 +202,9 @@ (>= 0.33)) (vcs (= :version)) - (vcs-git + (vcs-arg (= :version)) - (vcs-param + (vcs-git (= :version)) (vcs-private-libs-eio (= :version)))) @@ -323,7 +321,7 @@ (ppxlib (>= 0.33)) (provider - (>= 0.0.7)) + (>= 0.0.8)) (vcs (= :version)) (vcs-git-cli @@ -386,7 +384,7 @@ (ppxlib (>= 0.33)) (provider - (>= 0.0.7)) + (>= 0.0.8)) (vcs (= :version)) (vcs-git-cli @@ -410,8 +408,6 @@ (and :dev (>= 2.8.3))) - (command-unix-for-opam - (>= 0.0.2)) (core (and (>= v0.17) @@ -472,7 +468,7 @@ (ppxlib (>= 0.33)) (provider - (>= 0.0.7)) + (>= 0.0.8)) (re (>= 1.8.0)) (sexp_pretty @@ -489,6 +485,8 @@ (< v0.18))) (vcs (= :version)) + (vcs-arg + (= :version)) (vcs-command (= :version)) (vcs-git @@ -497,8 +495,6 @@ (= :version)) (vcs-git-cli (= :version)) - (vcs-param - (= :version)) (vcs-private-libs-base (= :version)) (vcs-private-libs-eio @@ -670,6 +666,6 @@ (ppxlib (>= 0.33)) (provider - (>= 0.0.7)) + (>= 0.0.8)) (vcs-private-libs-base (= :version)))) diff --git a/headache.sh b/headache.sh index def1e8f..749aa4e 100755 --- a/headache.sh +++ b/headache.sh @@ -5,6 +5,8 @@ dirs=( "example" "lib/vcs/src" "lib/vcs/test" + "lib/vcs_arg/src" + "lib/vcs_arg/test" "lib/vcs_command/src" "lib/vcs_command/test" "lib/vcs_git/src" @@ -13,8 +15,6 @@ dirs=( "lib/vcs_git_blocking/test" "lib/vcs_git_cli/src" "lib/vcs_git_cli/test" - "lib/vcs_param/src" - "lib/vcs_param/test" "lib/vcs_test_helpers/src" "lib/vcs_test_helpers/test" "test/expect" diff --git a/lib/vcs/src/platform.ml b/lib/vcs/src/platform.ml index e98953e..f020583 100644 --- a/lib/vcs/src/platform.ml +++ b/lib/vcs/src/platform.ml @@ -28,6 +28,6 @@ end include T include Comparable.Make (T) -let to_string_hum = function +let to_string = function | GitHub -> "GitHub" ;; diff --git a/lib/vcs/src/platform.mli b/lib/vcs/src/platform.mli index ca950a8..9854539 100644 --- a/lib/vcs/src/platform.mli +++ b/lib/vcs/src/platform.mli @@ -33,4 +33,4 @@ include Comparable.S with type t := t variant constructor. For example, ["GitHub"] is typically spelled with an uppercase 'H'. This is suitable for inclusion into error messages, user facing logs, etc. *) -val to_string_hum : t -> string +val to_string : t -> string diff --git a/lib/vcs/src/tree.mli b/lib/vcs/src/tree.mli index d921e41..9d7a074 100644 --- a/lib/vcs/src/tree.mli +++ b/lib/vcs/src/tree.mli @@ -66,7 +66,7 @@ val set_ref : t -> rev:Rev.t -> ref_kind:Ref_kind.t -> unit typically also require to be supplied the tree. For convenience to users writing algorithms on git trees, the type [t] - exposes an efficient comparable interface, meaning you can e.g. manipulate + exposes an efficient comparable signature, meaning you can e.g. manipulate containers indexed by nodes. {1:ordering_invariant Ordering invariant} diff --git a/lib/vcs/test/test__platform.ml b/lib/vcs/test/test__platform.ml index 527a20a..d90b644 100644 --- a/lib/vcs/test/test__platform.ml +++ b/lib/vcs/test/test__platform.ml @@ -20,7 +20,7 @@ (*******************************************************************************) let%expect_test "to_string_hum" = - List.iter Vcs.Platform.all ~f:(fun t -> print_endline (Vcs.Platform.to_string_hum t)); + List.iter Vcs.Platform.all ~f:(fun t -> print_endline (Vcs.Platform.to_string t)); [%expect {| GitHub |}]; () ;; diff --git a/lib/vcs/test/test__tag_name.ml b/lib/vcs/test/test__tag_name.ml index 98626d1..68ea7ec 100644 --- a/lib/vcs/test/test__tag_name.ml +++ b/lib/vcs/test/test__tag_name.ml @@ -45,3 +45,11 @@ let%expect_test "of_string" = [%expect {| (Error ("Tag_name.of_string: invalid entry" "")) |}]; () ;; + +let%expect_test "no ~" = + (* At one point we were tempted to allow '~' as a valid tag character, since + it is used as part of preview version names such as [0.1.0~preview]. + However, this is rejected by git itself so we shouldn't allow it. *) + require_does_raise [%here] (fun () -> Vcs.Tag_name.v "1.4.5~preview-0.1"); + [%expect {| ("Tag_name.of_string: invalid entry" 1.4.5~preview-0.1) |}] +;; diff --git a/lib/vcs_param/src/dune b/lib/vcs_arg/src/dune similarity index 70% rename from lib/vcs_param/src/dune rename to lib/vcs_arg/src/dune index 22a591e..682d2a4 100644 --- a/lib/vcs_param/src/dune +++ b/lib/vcs_arg/src/dune @@ -1,6 +1,6 @@ (library - (name vcs_param) - (public_name vcs-param) + (name vcs_arg) + (public_name vcs-arg) (flags :standard -w @@ -12,8 +12,10 @@ -open Fpath_base -open - Or_error.Let_syntax) - (libraries base core.command eio fpath fpath-base unix vcs vcs-git) + Or_error.Let_syntax + -open + Commandlang) + (libraries base commandlang eio fpath fpath-base unix vcs vcs-git) (instrumentation (backend bisect_ppx)) (lint diff --git a/lib/vcs_param/src/vcs_param.ml b/lib/vcs_arg/src/vcs_arg.ml similarity index 74% rename from lib/vcs_param/src/vcs_param.ml rename to lib/vcs_arg/src/vcs_arg.ml index ad390ab..f9b0c96 100644 --- a/lib/vcs_param/src/vcs_param.ml +++ b/lib/vcs_arg/src/vcs_arg.ml @@ -31,16 +31,14 @@ module Config = struct let default = { unit = () } - let param = - let%map_open.Command () = return () in + let arg = + let%map_open.Command () = Arg.return () in let t = { unit = () } in silence_w69_unused_field t; t ;; end -let config = Config.param - module Create_vcs_backend = struct let repo_root (dir : _ Eio.Path.t) = dir @@ -137,45 +135,61 @@ type 'a t = Context.t -> 'a Or_error.t let resolve t ~context = t context -let anon_branch_name = - let%map_open.Command branch_name = anon ("branch" %: string) in - Vcs.Branch_name.of_string branch_name +let pos_branch_name ~pos ~doc = + let%map_open.Command branch_name = + Arg.pos ~pos (Param.validated_string (module Vcs.Branch_name)) ~docv:"branch" ~doc + in + branch_name ;; -let anon_branch_name_opt = - let%map_open.Command branch_name = anon (maybe ("branch" %: string)) in - branch_name |> Option.map ~f:Vcs.Branch_name.of_string +let pos_branch_name_opt ~pos ~doc = + let%map_open.Command branch_name = + Arg.pos_opt ~pos (Param.validated_string (module Vcs.Branch_name)) ~docv:"branch" ~doc + in + branch_name ;; -let anon_path = - let%map_open.Command path = anon ("file" %: string) in +let pos_path ~pos ~doc = + let%map_open.Command path = + Arg.pos ~pos (Param.validated_string (module Fpath)) ~docv:"file" ~doc + in fun (c : Context.t) -> - Or_error.try_with (fun () -> Absolute_path.relativize ~root:c.cwd (path |> Fpath.v)) + Or_error.try_with (fun () -> Absolute_path.relativize ~root:c.cwd path) ;; -let anon_path_in_repo = - let%map_open.Command path = anon ("file" %: string) in +let pos_path_in_repo ~pos ~doc = + let%map_open.Command path = + Arg.pos ~pos (Param.validated_string (module Fpath)) ~docv:"file" ~doc + in fun (c : Context.t) -> let repo_root = Vcs.Repo_root.to_absolute_path c.repo_root in Or_error.try_with_join (fun () -> - let path = Absolute_path.relativize ~root:c.cwd (path |> Fpath.v) in + let path = Absolute_path.relativize ~root:c.cwd path in let%bind relative_path = Absolute_path.chop_prefix ~prefix:repo_root path in return (Vcs.Path_in_repo.of_relative_path relative_path)) ;; -let anon_rev = - let%map_open.Command rev = anon ("rev" %: string) in - Vcs.Rev.of_string rev +let pos_rev ~pos ~doc = + let%map_open.Command rev = + Arg.pos ~pos (Param.validated_string (module Vcs.Rev)) ~docv:"rev" ~doc + in + rev ;; -let anon_revs = - let%map_open.Command revs = anon (sequence ("rev" %: string)) in - Or_error.all (List.map revs ~f:Vcs.Rev.of_string) +let pos_revs ~doc = + let%map_open.Command revs = + Arg.pos_all (Param.validated_string (module Vcs.Rev)) ~docv:"rev" ~doc + in + revs ;; let below_path_in_repo = let%map_open.Command path = - flag "--below" (optional string) ~doc:"PATH only below path" + Arg.named_opt + [ "below" ] + (Param.validated_string (module Fpath)) + ~docv:"PATH" + ~doc:"only below path" in fun (c : Context.t) -> let repo_root = Vcs.Repo_root.to_absolute_path c.repo_root in @@ -183,42 +197,54 @@ let below_path_in_repo = match path with | None -> return None | Some path -> - let path = Absolute_path.relativize ~root:c.cwd (path |> Fpath.v) in + let path = Absolute_path.relativize ~root:c.cwd path in let%bind relative_path = Absolute_path.chop_prefix ~prefix:repo_root path in return (Some (Vcs.Path_in_repo.of_relative_path relative_path))) ;; let commit_message = let%map_open.Command commit_message = - flag "--message" ~aliases:[ "-m" ] (required string) ~doc:"MSG commit message" + Arg.named + [ "message"; "m" ] + (Param.validated_string (module Vcs.Commit_message)) + ~docv:"MSG" + ~doc:"commit message" in - Vcs.Commit_message.of_string commit_message + commit_message ;; let quiet = let%map_open.Command quiet = - flag "--quiet" ~aliases:[ "-q" ] no_arg ~doc:" suppress output on success" + Arg.flag [ "quiet"; "q" ] ~doc:"suppress output on success" in quiet ;; -let rev = +let rev ~doc = let%map_open.Command rev = - flag "--rev" ~aliases:[ "-r" ] (required string) ~doc:"REV revision" + Arg.named [ "rev"; "r" ] (Param.validated_string (module Vcs.Rev)) ~docv:"REV" ~doc in - Vcs.Rev.of_string rev + rev ;; let user_name = let%map_open.Command user_name = - flag "--user.name" (required string) ~doc:"USER user name" + Arg.named + [ "user.name" ] + (Param.validated_string (module Vcs.User_name)) + ~docv:"USER" + ~doc:"user name" in - Vcs.User_name.of_string user_name + user_name ;; let user_email = let%map_open.Command user_email = - flag "--user.email" (required string) ~doc:"EMAIL user email" + Arg.named + [ "user.email" ] + (Param.validated_string (module Vcs.User_email)) + ~docv:"EMAIL" + ~doc:"user email" in - Vcs.User_email.of_string user_email + user_email ;; diff --git a/lib/vcs_param/src/vcs_param.mli b/lib/vcs_arg/src/vcs_arg.mli similarity index 65% rename from lib/vcs_param/src/vcs_param.mli rename to lib/vcs_arg/src/vcs_arg.mli index b751dcd..7feeb34 100644 --- a/lib/vcs_param/src/vcs_param.mli +++ b/lib/vcs_arg/src/vcs_arg.mli @@ -19,7 +19,7 @@ (*_ and , respectively. *) (*_******************************************************************************) -(** Common command line parameters in use in vcs. *) +(** Common command line arguments in use in vcs. *) (** {1 Initialization} *) @@ -27,11 +27,9 @@ module Config : sig type t val default : t - val param : t Command.Param.t + val arg : t Command.Arg.t end -val config : Config.t Command.Param.t - module Context : sig type t @@ -58,53 +56,53 @@ val initialize -> config:Config.t -> Initialized.t Or_error.t -(** {1 Params} +(** {1 Args} - Some parameters may only be created under a certain context, in that case - they're exposed wrapped under a resolvable type. Otherwise they can be - exposed as command params directly. + Some command line arguments may only be created under a certain context, in + that case they're exposed wrapped under a resolvable type. Otherwise they + can be exposed as command arguments directly. - If not otherwise specified, the parameters are resolved under the current - context, and are required. Optional parameters ends with [_optional]. *) + If not otherwise specified, the arguments are resolved under the current + context, and are required. Optional arguments ends with ["_opt"]. *) -(** A ['a Vcs_param.t] is a command line parameter that produces a value of type +(** A ['a t] is a command line argument parser that produces a value of type ['a] under the initialized context. *) type 'a t (** To be called in the body of the command, after initialization. *) val resolve : 'a t -> context:Context.t -> 'a Or_error.t -(** A required anon [BRANCH]. *) -val anon_branch_name : Vcs.Branch_name.t Or_error.t Command.Param.t +(** A required pos [BRANCH]. *) +val pos_branch_name : pos:int -> doc:string -> Vcs.Branch_name.t Command.Arg.t -(** An optional anon [BRANCH]. *) -val anon_branch_name_opt : Vcs.Branch_name.t Or_error.t option Command.Param.t +(** An optional pos [BRANCH]. *) +val pos_branch_name_opt : pos:int -> doc:string -> Vcs.Branch_name.t option Command.Arg.t -(** An anonymous parameter for a path. It can be given either as an absolute +(** An positional argument for a path. It can be given either as an absolute path or relative path in the command line, but will always be resolved to an absolute path. *) -val anon_path : Absolute_path.t t Command.Param.t +val pos_path : pos:int -> doc:string -> Absolute_path.t t Command.Arg.t -(** An anonymous parameter for a path in repo. *) -val anon_path_in_repo : Vcs.Path_in_repo.t t Command.Param.t +(** An positional parameter for a path in repo. *) +val pos_path_in_repo : pos:int -> doc:string -> Vcs.Path_in_repo.t t Command.Arg.t -(** A required anon [REV]. *) -val anon_rev : Vcs.Rev.t Or_error.t Command.Param.t +(** A required pos [REV]. *) +val pos_rev : pos:int -> doc:string -> Vcs.Rev.t Command.Arg.t -(** A required list of anon [REVs]. *) -val anon_revs : Vcs.Rev.t list Or_error.t Command.Param.t +(** A required list of pos [REVs]. *) +val pos_revs : doc:string -> Vcs.Rev.t list Command.Arg.t (** A flag to restrict the repo to a subdirectory below a certain path. *) -val below_path_in_repo : Vcs.Path_in_repo.t option t Command.Param.t +val below_path_in_repo : Vcs.Path_in_repo.t option t Command.Arg.t (** A required [-m _] nonempty commit message. *) -val commit_message : Vcs.Commit_message.t Or_error.t Command.Param.t +val commit_message : Vcs.Commit_message.t Command.Arg.t (** Perform the side effect if any, but suppress the output in case of success. *) -val quiet : bool Command.Param.t +val quiet : bool Command.Arg.t (** A required [--rev _] that produces a revision. *) -val rev : Vcs.Rev.t Or_error.t Command.Param.t +val rev : doc:string -> Vcs.Rev.t Command.Arg.t -val user_email : Vcs.User_email.t Or_error.t Command.Param.t -val user_name : Vcs.User_name.t Or_error.t Command.Param.t +val user_email : Vcs.User_email.t Command.Arg.t +val user_name : Vcs.User_name.t Command.Arg.t diff --git a/lib/vcs_param/test/dune b/lib/vcs_arg/test/dune similarity index 86% rename from lib/vcs_param/test/dune rename to lib/vcs_arg/test/dune index 9bfba56..6874751 100644 --- a/lib/vcs_param/test/dune +++ b/lib/vcs_arg/test/dune @@ -1,6 +1,6 @@ (library - (name vcs_param_test) - (public_name vcs-tests.vcs_param_test) + (name vcs_arg_test) + (public_name vcs-tests.vcs_arg_test) (inline_tests) (flags :standard @@ -14,7 +14,7 @@ Expect_test_helpers -open Fpath_base) - (libraries base eio eio_main expect_test_helpers fpath fpath-base vcs_param) + (libraries base eio eio_main expect_test_helpers fpath fpath-base vcs_arg) (instrumentation (backend bisect_ppx)) (lint diff --git a/lib/vcs_param/test/test__vcs_param.ml b/lib/vcs_arg/test/test__vcs_arg.ml similarity index 90% rename from lib/vcs_param/test/test__vcs_param.ml rename to lib/vcs_arg/test/test__vcs_arg.ml index e483f29..46efbfd 100644 --- a/lib/vcs_param/test/test__vcs_param.ml +++ b/lib/vcs_arg/test/test__vcs_arg.ml @@ -19,18 +19,14 @@ (* and , respectively. *) (*******************************************************************************) -(* Most of [Vcs_param] is tested via the vcs cram tests. This file contains +(* Most of [Vcs_arg] is tested via the vcs cram tests. This file contains additional tests that help covering corner cases. *) let%expect_test "not-in-repo" = Eio_main.run @@ fun env -> (match - Vcs_param.Context.create - ~cwd:Absolute_path.root - ~env - ~config:Vcs_param.Config.default - () + Vcs_arg.Context.create ~cwd:Absolute_path.root ~env ~config:Vcs_arg.Config.default () with | Ok _ -> assert false | Error err -> print_s [%sexp (err : Error.t)]); diff --git a/lib/vcs_param/test/test__vcs_param.mli b/lib/vcs_arg/test/test__vcs_arg.mli similarity index 100% rename from lib/vcs_param/test/test__vcs_param.mli rename to lib/vcs_arg/test/test__vcs_arg.mli diff --git a/lib/vcs_command/src/dune b/lib/vcs_command/src/dune index 2c2b518..e887b12 100644 --- a/lib/vcs_command/src/dune +++ b/lib/vcs_command/src/dune @@ -14,17 +14,19 @@ -open Or_error.Let_syntax -open - Vcs_eio_writer) + Vcs_eio_writer + -open + Commandlang) (libraries base - core.command + commandlang eio eio_main fpath fpath-base vcs + vcs-arg vcs-git - vcs-param vcs-private-libs-eio.eio-writer) (instrumentation (backend bisect_ppx)) diff --git a/lib/vcs_command/src/vcs_command.ml b/lib/vcs_command/src/vcs_command.ml index 203d5fd..574fc26 100644 --- a/lib/vcs_command/src/vcs_command.ml +++ b/lib/vcs_command/src/vcs_command.ml @@ -23,307 +23,304 @@ the name the associated function has in the [V.S] interface, prepending the suffix "_cmd". *) -let eio_command ~summary ?readme command = - Command.basic_or_error - ~summary - ?readme - (let%map_open.Command () = return () - and command = command in - fun () -> Eio_main.run @@ fun env -> command env) -;; - let add_cmd = - eio_command + Command.make ~summary:"add a file to the index" - (let%map_open.Command config = Vcs_param.config - and path = Vcs_param.anon_path_in_repo in - fun env -> - let%bind { vcs; repo_root; context } = Vcs_param.initialize ~env ~config in - let%bind path = Vcs_param.resolve ~context path in - let%bind () = Vcs.Or_error.add vcs ~repo_root ~path in - return ()) + (let%map_open.Command config = Vcs_arg.Config.arg + and path = Vcs_arg.pos_path_in_repo ~pos:0 ~doc:"file to add" in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root; context } = Vcs_arg.initialize ~env ~config in + let%bind path = Vcs_arg.resolve ~context path in + let%bind () = Vcs.Or_error.add vcs ~repo_root ~path in + return ()) ;; let commit_cmd = - eio_command + Command.make ~summary:"commit a file" - (let%map_open.Command config = Vcs_param.config - and commit_message = Vcs_param.commit_message - and quiet = Vcs_param.quiet in - fun env -> - let%bind commit_message = commit_message in - let%bind { vcs; repo_root; context = _ } = Vcs_param.initialize ~env ~config in - let%bind rev = Vcs.Or_error.commit vcs ~repo_root ~commit_message in - if not quiet then Eio_writer.print_sexp ~env [%sexp (rev : Vcs.Rev.t)]; - return ()) + (let%map_open.Command config = Vcs_arg.Config.arg + and commit_message = Vcs_arg.commit_message + and quiet = Vcs_arg.quiet in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in + let%bind rev = Vcs.Or_error.commit vcs ~repo_root ~commit_message in + if not quiet then Eio_writer.print_sexp ~env [%sexp (rev : Vcs.Rev.t)]; + return ()) ;; let current_branch_cmd = - eio_command + Command.make ~summary:"current branch" - (let%map_open.Command config = Vcs_param.config in - fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_param.initialize ~env ~config in - let%bind branch = Vcs.Or_error.current_branch vcs ~repo_root in - Eio_writer.print_sexp ~env [%sexp (branch : Vcs.Branch_name.t)]; - return ()) + (let%map_open.Command config = Vcs_arg.Config.arg in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in + let%bind branch = Vcs.Or_error.current_branch vcs ~repo_root in + Eio_writer.print_sexp ~env [%sexp (branch : Vcs.Branch_name.t)]; + return ()) ;; let current_revision_cmd = - eio_command + Command.make ~summary:"revision of HEAD" - (let%map_open.Command config = Vcs_param.config in - fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_param.initialize ~env ~config in - let%bind rev = Vcs.Or_error.current_revision vcs ~repo_root in - Eio_writer.print_sexp ~env [%sexp (rev : Vcs.Rev.t)]; - return ()) + (let%map_open.Command config = Vcs_arg.Config.arg in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in + let%bind rev = Vcs.Or_error.current_revision vcs ~repo_root in + Eio_writer.print_sexp ~env [%sexp (rev : Vcs.Rev.t)]; + return ()) ;; let git_cmd = - eio_command + Command.make ~summary:"run the git cli" - (let%map_open.Command config = Vcs_param.config + (let%map_open.Command config = Vcs_arg.Config.arg and args = - flag "--" escape ~doc:" pass the remaining args to git" - >>| Option.value ~default:[] + Arg.pos_all Param.string ~docv:"ARG" ~doc:"pass the remaining args to git" + in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in + let%bind { Vcs.Git.Output.exit_code; stdout; stderr } = + Vcs.Or_error.git vcs ~repo_root ~args ~f:return in - fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_param.initialize ~env ~config in - let%bind { Vcs.Git.Output.exit_code; stdout; stderr } = - Vcs.Or_error.git vcs ~repo_root ~args ~f:return - in - Eio_writer.print_string ~env stdout; - Eio_writer.prerr_string ~env stderr; - if exit_code = 0 then return () else Stdlib.exit exit_code) + Eio_writer.print_string ~env stdout; + Eio_writer.prerr_string ~env stderr; + if exit_code = 0 then return () else Stdlib.exit exit_code) ;; let init_cmd = - eio_command + Command.make ~summary:"initialize a new repository" - (let%map_open.Command config = Vcs_param.config - and path = Vcs_param.anon_path - and quiet = Vcs_param.quiet in - fun env -> - let%bind { vcs; repo_root = _; context } = Vcs_param.initialize ~env ~config in - let%bind path = Vcs_param.resolve path ~context in - let%bind repo_root = Vcs.Or_error.init vcs ~path in - if not quiet - then - Eio_writer.print_sexp ~env [%sexp (repo_root : Vcs.Repo_root.t)] [@coverage off]; - return ()) + (let%map_open.Command config = Vcs_arg.Config.arg + and path = Vcs_arg.pos_path ~pos:0 ~doc:"where to initialize the repository" + and quiet = Vcs_arg.quiet in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root = _; context } = Vcs_arg.initialize ~env ~config in + let%bind path = Vcs_arg.resolve path ~context in + let%bind repo_root = Vcs.Or_error.init vcs ~path in + if not quiet + then Eio_writer.print_sexp ~env [%sexp (repo_root : Vcs.Repo_root.t)] [@coverage off]; + return ()) ;; let load_file_cmd = - eio_command + Command.make ~summary:"print a file from the filesystem (aka cat)" - (let%map_open.Command config = Vcs_param.config - and path = Vcs_param.anon_path in - fun env -> - let%bind { vcs; repo_root = _; context } = Vcs_param.initialize ~env ~config in - let%bind path = Vcs_param.resolve path ~context in - let%bind contents = Vcs.Or_error.load_file vcs ~path in - Eio_writer.print_string ~env (contents :> string); - return ()) + (let%map_open.Command config = Vcs_arg.Config.arg + and path = Vcs_arg.pos_path ~pos:0 ~doc:"file to load" in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root = _; context } = Vcs_arg.initialize ~env ~config in + let%bind path = Vcs_arg.resolve path ~context in + let%bind contents = Vcs.Or_error.load_file vcs ~path in + Eio_writer.print_string ~env (contents :> string); + return ()) ;; let ls_files_cmd = - eio_command + Command.make ~summary:"list file" - (let%map_open.Command config = Vcs_param.config - and below = Vcs_param.below_path_in_repo in - fun env -> - let%bind { vcs; repo_root; context } = Vcs_param.initialize ~env ~config in - let%bind below = Vcs_param.resolve below ~context in - let below = Option.value below ~default:Vcs.Path_in_repo.root in - let%bind files = Vcs.Or_error.ls_files vcs ~repo_root ~below in - Eio_writer.with_flow (Eio.Stdenv.stdout env) (fun w -> - List.iter files ~f:(fun file -> - Eio_writer.write_line w (Vcs.Path_in_repo.to_string file))); - return ()) + (let%map_open.Command config = Vcs_arg.Config.arg + and below = Vcs_arg.below_path_in_repo in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root; context } = Vcs_arg.initialize ~env ~config in + let%bind below = Vcs_arg.resolve below ~context in + let below = Option.value below ~default:Vcs.Path_in_repo.root in + let%bind files = Vcs.Or_error.ls_files vcs ~repo_root ~below in + Eio_writer.with_flow (Eio.Stdenv.stdout env) (fun w -> + List.iter files ~f:(fun file -> + Eio_writer.write_line w (Vcs.Path_in_repo.to_string file))); + return ()) ;; let log_cmd = - eio_command + Command.make ~summary:"show the log of current repo" - (let%map_open.Command config = Vcs_param.config in - fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_param.initialize ~env ~config in - let%bind log = Vcs.Or_error.log vcs ~repo_root in - Eio_writer.print_sexp ~env [%sexp (log : Vcs.Log.t)]; - return ()) + (let%map_open.Command config = Vcs_arg.Config.arg in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in + let%bind log = Vcs.Or_error.log vcs ~repo_root in + Eio_writer.print_sexp ~env [%sexp (log : Vcs.Log.t)]; + return ()) ;; let name_status_cmd = - eio_command + Command.make ~summary:"show a summary of the diff between 2 revs" - (let%map_open.Command config = Vcs_param.config - and src = Vcs_param.anon_rev - and dst = Vcs_param.anon_rev in - fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_param.initialize ~env ~config in - let%bind src = src - and dst = dst in - let%bind name_status = - Vcs.Or_error.name_status vcs ~repo_root ~changed:(Between { src; dst }) - in - Eio_writer.print_sexp ~env [%sexp (name_status : Vcs.Name_status.t)]; - return ()) + (let%map_open.Command config = Vcs_arg.Config.arg + and src = Vcs_arg.pos_rev ~pos:0 ~doc:"base revision" + and dst = Vcs_arg.pos_rev ~pos:1 ~doc:"tip revision" in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in + let%bind name_status = + Vcs.Or_error.name_status vcs ~repo_root ~changed:(Between { src; dst }) + in + Eio_writer.print_sexp ~env [%sexp (name_status : Vcs.Name_status.t)]; + return ()) ;; let num_status_cmd = - eio_command + Command.make ~summary:"show a summary of the number of lines of diff between 2 revs" - (let%map_open.Command config = Vcs_param.config - and src = Vcs_param.anon_rev - and dst = Vcs_param.anon_rev in - fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_param.initialize ~env ~config in - let%bind src = src - and dst = dst in - let%bind num_status = - Vcs.Or_error.num_status vcs ~repo_root ~changed:(Between { src; dst }) - in - Eio_writer.print_sexp ~env [%sexp (num_status : Vcs.Num_status.t)]; - return ()) + (let%map_open.Command config = Vcs_arg.Config.arg + and src = Vcs_arg.pos_rev ~pos:0 ~doc:"base revision" + and dst = Vcs_arg.pos_rev ~pos:1 ~doc:"tip revision" in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in + let%bind num_status = + Vcs.Or_error.num_status vcs ~repo_root ~changed:(Between { src; dst }) + in + Eio_writer.print_sexp ~env [%sexp (num_status : Vcs.Num_status.t)]; + return ()) ;; let rename_current_branch_cmd = - eio_command + Command.make ~summary:"move/rename a branch to a new name" - (let%map_open.Command config = Vcs_param.config - and branch_name = Vcs_param.anon_branch_name in - fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_param.initialize ~env ~config in - let%bind branch_name = branch_name in - Vcs.Or_error.rename_current_branch vcs ~repo_root ~to_:branch_name) + (let%map_open.Command config = Vcs_arg.Config.arg + and branch_name = Vcs_arg.pos_branch_name ~pos:0 ~doc:"new name to rename to" in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in + Vcs.Or_error.rename_current_branch vcs ~repo_root ~to_:branch_name) ;; let refs_cmd = - eio_command + Command.make ~summary:"show the refs of current repo" - (let%map_open.Command config = Vcs_param.config in - fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_param.initialize ~env ~config in - let%bind refs = Vcs.Or_error.refs vcs ~repo_root in - Eio_writer.print_sexp ~env [%sexp (refs : Vcs.Refs.t)]; - return ()) + (let%map_open.Command config = Vcs_arg.Config.arg in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in + let%bind refs = Vcs.Or_error.refs vcs ~repo_root in + Eio_writer.print_sexp ~env [%sexp (refs : Vcs.Refs.t)]; + return ()) ;; let save_file_cmd = - eio_command + Command.make ~summary:"save stdin to a file from the filesystem (aka tee)" - (let%map_open.Command config = Vcs_param.config - and path = Vcs_param.anon_path in - fun env -> - let%bind { vcs; repo_root = _; context } = Vcs_param.initialize ~env ~config in - let%bind path = Vcs_param.resolve path ~context in - let file_contents = - Eio.Buf_read.parse_exn - Eio.Buf_read.take_all - (Eio.Stdenv.stdin env) - ~max_size:Int.max_value - |> Vcs.File_contents.create - in - Vcs.Or_error.save_file vcs ~path ~file_contents) + (let%map_open.Command config = Vcs_arg.Config.arg + and path = Vcs_arg.pos_path ~pos:0 ~doc:"file to save the contents to" in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root = _; context } = Vcs_arg.initialize ~env ~config in + let%bind path = Vcs_arg.resolve path ~context in + let file_contents = + Eio.Buf_read.parse_exn + Eio.Buf_read.take_all + (Eio.Stdenv.stdin env) + ~max_size:Int.max_value + |> Vcs.File_contents.create + in + Vcs.Or_error.save_file vcs ~path ~file_contents) ;; let set_user_config_cmd = - eio_command + Command.make ~summary:"set the user config" - (let%map_open.Command config = Vcs_param.config - and user_name = Vcs_param.user_name - and user_email = Vcs_param.user_email in - fun env -> - let%bind user_name = user_name - and user_email = user_email in - let%bind { vcs; repo_root; context = _ } = Vcs_param.initialize ~env ~config in - let%bind () = Vcs.Or_error.set_user_name vcs ~repo_root ~user_name in - let%bind () = Vcs.Or_error.set_user_email vcs ~repo_root ~user_email in - return ()) + (let%map_open.Command config = Vcs_arg.Config.arg + and user_name = Vcs_arg.user_name + and user_email = Vcs_arg.user_email in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in + let%bind () = Vcs.Or_error.set_user_name vcs ~repo_root ~user_name in + let%bind () = Vcs.Or_error.set_user_email vcs ~repo_root ~user_email in + return ()) ;; let show_file_at_rev_cmd = - eio_command + Command.make ~summary:"show the contents of file at a given revision" - (let%map_open.Command config = Vcs_param.config - and rev = Vcs_param.rev - and path = Vcs_param.anon_path_in_repo in - fun env -> - let%bind { vcs; repo_root; context } = Vcs_param.initialize ~env ~config in - let%bind rev = rev in - let%bind path = Vcs_param.resolve path ~context in - let%bind result = Vcs.Or_error.show_file_at_rev vcs ~repo_root ~rev ~path in - (match result with - | `Present contents -> Eio_writer.print_string ~env (contents :> string) - | `Absent -> - Eio_writer.eprintf - ~env - "Path '%s' does not exist in '%s'" - (Vcs.Path_in_repo.to_string path) - (Vcs.Rev.to_string rev)); - return ()) + (let%map_open.Command config = Vcs_arg.Config.arg + and rev = Vcs_arg.rev ~doc:"revision to show" + and path = Vcs_arg.pos_path_in_repo ~pos:0 ~doc:"path to file" in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root; context } = Vcs_arg.initialize ~env ~config in + let%bind path = Vcs_arg.resolve path ~context in + let%bind result = Vcs.Or_error.show_file_at_rev vcs ~repo_root ~rev ~path in + (match result with + | `Present contents -> Eio_writer.print_string ~env (contents :> string) + | `Absent -> + Eio_writer.eprintf + ~env + "Path '%s' does not exist in '%s'" + (Vcs.Path_in_repo.to_string path) + (Vcs.Rev.to_string rev)); + return ()) ;; let tree_cmd = - eio_command + Command.make ~summary:"compute tree of current repo" - (let%map_open.Command config = Vcs_param.config in - fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_param.initialize ~env ~config in - let%bind tree = Vcs.Or_error.tree vcs ~repo_root in - Eio_writer.print_sexp ~env [%sexp (Vcs.Tree.summary tree : Vcs.Tree.Summary.t)]; - return ()) + (let%map_open.Command config = Vcs_arg.Config.arg in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in + let%bind tree = Vcs.Or_error.tree vcs ~repo_root in + Eio_writer.print_sexp ~env [%sexp (Vcs.Tree.summary tree : Vcs.Tree.Summary.t)]; + return ()) ;; (* The following section expands the cli to help with test coverage. *) let branch_revision_cmd = - eio_command + Command.make ~summary:"revision of a branch" - (let%map_open.Command config = Vcs_param.config - and branch_name = Vcs_param.anon_branch_name_opt in - fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_param.initialize ~env ~config in - let%bind branch_name = - match branch_name with - | Some branch_name -> branch_name - | None -> Vcs.Or_error.current_branch vcs ~repo_root - in - let%bind rev = - let%bind refs = Vcs.Or_error.refs vcs ~repo_root >>| Vcs.Refs.to_map in - match Map.find refs (Local_branch { branch_name }) with - | Some rev -> return rev - | None -> - Or_error.error_s - [%sexp "Branch not found", { branch_name : Vcs.Branch_name.t }] - in - Eio_writer.print_sexp ~env [%sexp (rev : Vcs.Rev.t)]; - return ()) + (let%map_open.Command config = Vcs_arg.Config.arg + and branch_name = Vcs_arg.pos_branch_name_opt ~pos:0 ~doc:"which branch" in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in + let%bind branch_name = + match branch_name with + | Some branch_name -> return branch_name + | None -> Vcs.Or_error.current_branch vcs ~repo_root + in + let%bind rev = + let%bind refs = Vcs.Or_error.refs vcs ~repo_root >>| Vcs.Refs.to_map in + match Map.find refs (Local_branch { branch_name }) with + | Some rev -> return rev + | None -> + Or_error.error_s [%sexp "Branch not found", { branch_name : Vcs.Branch_name.t }] + in + Eio_writer.print_sexp ~env [%sexp (rev : Vcs.Rev.t)]; + return ()) ;; let greatest_common_ancestors_cmd = - eio_command + Command.make ~summary:"print greatest common ancestors of revisions" - (let%map_open.Command config = Vcs_param.config - and revs = Vcs_param.anon_revs in - fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_param.initialize ~env ~config in - let%bind tree = Vcs.Or_error.tree vcs ~repo_root in - let%bind revs = revs in - let%bind nodes = - List.map revs ~f:(fun rev -> - match Vcs.Tree.find_rev tree ~rev with - | Some node -> return node - | None -> Or_error.error_s [%sexp "Rev not found", { rev : Vcs.Rev.t }]) - |> Or_error.all - in - let gca = - Vcs.Tree.greatest_common_ancestors tree nodes - |> List.map ~f:(fun node -> Vcs.Tree.rev tree node) - in - Eio_writer.print_sexp ~env [%sexp (gca : Vcs.Rev.t list)]; - return ()) + (let%map_open.Command config = Vcs_arg.Config.arg + and revs = Vcs_arg.pos_revs ~doc:"all revisions that must descend from the gcas" in + Eio_main.run + @@ fun env -> + let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in + let%bind tree = Vcs.Or_error.tree vcs ~repo_root in + let%bind nodes = + List.map revs ~f:(fun rev -> + match Vcs.Tree.find_rev tree ~rev with + | Some node -> return node + | None -> Or_error.error_s [%sexp "Rev not found", { rev : Vcs.Rev.t }]) + |> Or_error.all + in + let gca = + Vcs.Tree.greatest_common_ancestors tree nodes + |> List.map ~f:(fun node -> Vcs.Tree.rev tree node) + in + Eio_writer.print_sexp ~env [%sexp (gca : Vcs.Rev.t list)]; + return ()) ;; let more_tests_cmd = diff --git a/lib/vcs_command/src/vcs_command.mli b/lib/vcs_command/src/vcs_command.mli index 1e73c2e..bce05e3 100644 --- a/lib/vcs_command/src/vcs_command.mli +++ b/lib/vcs_command/src/vcs_command.mli @@ -19,4 +19,4 @@ (*_ and , respectively. *) (*_******************************************************************************) -val main : Command.t +val main : unit Or_error.t Command.t diff --git a/test/cram/run.t b/test/cram/run.t index defd124..3487698 100644 --- a/test/cram/run.t +++ b/test/cram/run.t @@ -141,10 +141,10 @@ Greatest common ancestors. Vcs allows to run the git command line directly if the provider supports it. - $ ocaml-vcs git -- rev-parse HEAD | stabilize_output + $ ocaml-vcs git rev-parse HEAD | stabilize_output $REV2 - $ ocaml-vcs git -- invalid-command 2> /dev/null + $ ocaml-vcs git invalid-command 2> /dev/null [1] Worktrees. We check against a regression where the repo root of worktrees was @@ -153,7 +153,7 @@ verify that the list of files accurately reflects the state of the tree at that revision. $ mkdir .worktree - $ ocaml-vcs git -- worktree add .worktree/rev1 $rev1 > /dev/null 2> /dev/null + $ ocaml-vcs git worktree add .worktree/rev1 $rev1 > /dev/null 2> /dev/null $ (cd .worktree/rev1 ; ocaml-vcs ls-files) dir/hello @@ -162,42 +162,102 @@ revision. $ ocaml-vcs ls-files dir/hello - $ ocaml-vcs git -- worktree remove .worktree/rev1 + $ ocaml-vcs git worktree remove .worktree/rev1 Vcs's help for review. - $ ocaml-vcs --help - call a command from the vcs interface - - ocaml-vcs SUBCOMMAND - - This is an executable to test the Version Control System (vcs) library. - - We expect a 1:1 mapping between the function exposed in the [Vcs.S] and the - sub commands exposed here, plus additional functionality in [more-tests]. - - === subcommands === - - add . add a file to the index - commit . commit a file - current-branch . current branch - current-revision . revision of HEAD - git . run the git cli - init . initialize a new repository - load-file . print a file from the filesystem (aka cat) - log . show the log of current repo - ls-files . list file - more-tests . more tests combining vcs functions - name-status . show a summary of the diff between 2 revs - num-status . show a summary of the number of lines of diff - between 2 revs - refs . show the refs of current repo - rename-current-branch . move/rename a branch to a new name - save-file . save stdin to a file from the filesystem (aka - tee) - set-user-config . set the user config - show-file-at-rev . show the contents of file at a given revision - tree . compute tree of current repo - version . print version information - help . explain a given subcommand (perhaps recursively) + $ ocaml-vcs --help=plain + NAME + ocaml-vcs - call a command from the vcs interface + + SYNOPSIS + ocaml-vcs COMMAND … + + + + This is an executable to test the Version Control System (vcs) + library. + + + + We expect a 1:1 mapping between the function exposed in the [Vcs.S] + and the sub commands exposed here, plus additional functionality in + [more-tests]. + + + + COMMANDS + add [OPTION]… file + add a file to the index + + commit [--message=MSG] [--quiet] [OPTION]… + commit a file + + current-branch [OPTION]… + current branch + + current-revision [OPTION]… + revision of HEAD + + git [OPTION]… [ARG]… + run the git cli + + init [--quiet] [OPTION]… file + initialize a new repository + + load-file [OPTION]… file + print a file from the filesystem (aka cat) + + log [OPTION]… + show the log of current repo + + ls-files [--below=PATH] [OPTION]… + list file + + more-tests COMMAND … + more tests combining vcs functions + + name-status [OPTION]… rev rev + show a summary of the diff between 2 revs + + num-status [OPTION]… rev rev + show a summary of the number of lines of diff between 2 revs + + refs [OPTION]… + show the refs of current repo + + rename-current-branch [OPTION]… branch + move/rename a branch to a new name + + save-file [OPTION]… file + save stdin to a file from the filesystem (aka tee) + + set-user-config [--user.email=EMAIL] [--user.name=USER] [OPTION]… + set the user config + + show-file-at-rev [--rev=REV] [OPTION]… file + show the contents of file at a given revision + + tree [OPTION]… + compute tree of current repo + + COMMON OPTIONS + --help[=FMT] (default=auto) + Show this help in format FMT. The value FMT must be one of auto, + pager, groff or plain. With auto, the format is pager or plain + whenever the TERM env var is dumb or undefined. + + --version + Show version information. + + EXIT STATUS + ocaml-vcs exits with: + + 0 on success. + + 123 on indiscriminate errors reported on standard error. + + 124 on command line parsing errors. + + 125 on unexpected internal errors (bugs). diff --git a/vcs-param.opam b/vcs-arg.opam similarity index 92% rename from vcs-param.opam rename to vcs-arg.opam index 769714c..56fa91d 100644 --- a/vcs-param.opam +++ b/vcs-arg.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -synopsis: "[Command.Param] helpers for the Vcs library" +synopsis: "[Command.Arg] helpers for the Vcs library" maintainer: ["Mathieu Barbin"] authors: ["Mathieu Barbin"] license: "LGPL-3.0-or-later WITH LGPL-3.0-linking-exception" @@ -12,7 +12,7 @@ depends: [ "ocaml" {>= "5.2"} "base" {>= "v0.17" & < "v0.18"} "bisect_ppx" {dev & >= "2.8.3"} - "core" {>= "v0.17" & < "v0.18"} + "commandlang" {>= "0.0.1~preview-0.1"} "eio" {>= "1.0"} "fpath" {>= "0.7.3"} "fpath-base" {>= "0.0.9"} diff --git a/vcs-command.opam b/vcs-command.opam index e82862b..94af07b 100644 --- a/vcs-command.opam +++ b/vcs-command.opam @@ -12,8 +12,9 @@ depends: [ "ocaml" {>= "5.2"} "base" {>= "v0.17" & < "v0.18"} "bisect_ppx" {dev & >= "2.8.3"} - "command-unix-for-opam" {>= "0.0.2"} - "core" {>= "v0.17" & < "v0.18"} + "cmdliner" {= "1.3.0"} + "commandlang" {>= "0.0.1~preview-0.1"} + "commandlang-to-cmdliner" {>= "0.0.1~preview-0.1"} "eio" {>= "1.0"} "eio_main" {>= "1.0"} "fpath" {>= "0.7.3"} @@ -28,8 +29,8 @@ depends: [ "ppx_sexp_value" {>= "v0.17" & < "v0.18"} "ppxlib" {>= "0.33"} "vcs" {= version} + "vcs-arg" {= version} "vcs-git" {= version} - "vcs-param" {= version} "vcs-private-libs-eio" {= version} "odoc" {with-doc} ] diff --git a/vcs-git-blocking.opam b/vcs-git-blocking.opam index ba891a9..ef432b7 100644 --- a/vcs-git-blocking.opam +++ b/vcs-git-blocking.opam @@ -23,7 +23,7 @@ depends: [ "ppx_sexp_conv" {>= "v0.17" & < "v0.18"} "ppx_sexp_value" {>= "v0.17" & < "v0.18"} "ppxlib" {>= "0.33"} - "provider" {>= "0.0.7"} + "provider" {>= "0.0.8"} "vcs" {= version} "vcs-git-cli" {= version} "odoc" {with-doc} diff --git a/vcs-git.opam b/vcs-git.opam index 2da6b33..389577b 100644 --- a/vcs-git.opam +++ b/vcs-git.opam @@ -24,7 +24,7 @@ depends: [ "ppx_sexp_conv" {>= "v0.17" & < "v0.18"} "ppx_sexp_value" {>= "v0.17" & < "v0.18"} "ppxlib" {>= "0.33"} - "provider" {>= "0.0.7"} + "provider" {>= "0.0.8"} "vcs" {= version} "vcs-git-cli" {= version} "vcs-private-libs-eio" {= version} diff --git a/vcs-test-helpers.opam b/vcs-test-helpers.opam index b31b06c..e3ccbd4 100644 --- a/vcs-test-helpers.opam +++ b/vcs-test-helpers.opam @@ -24,7 +24,7 @@ depends: [ "ppx_sexp_conv" {>= "v0.17" & < "v0.18"} "ppx_sexp_value" {>= "v0.17" & < "v0.18"} "ppxlib" {>= "0.33"} - "provider" {>= "0.0.7"} + "provider" {>= "0.0.8"} "vcs-private-libs-base" {= version} "odoc" {with-doc} ] diff --git a/vcs-tests.opam b/vcs-tests.opam index 4ba1221..ac49a74 100644 --- a/vcs-tests.opam +++ b/vcs-tests.opam @@ -13,7 +13,6 @@ depends: [ "base" {>= "v0.17" & < "v0.18"} "base_quickcheck" {>= "v0.17" & < "v0.18"} "bisect_ppx" {dev & >= "2.8.3"} - "command-unix-for-opam" {>= "0.0.2"} "core" {>= "v0.17" & < "v0.18"} "eio" {>= "1.0"} "eio_main" {>= "1.0"} @@ -31,17 +30,17 @@ depends: [ "ppx_sexp_message" {>= "v0.17" & < "v0.18"} "ppx_sexp_value" {>= "v0.17" & < "v0.18"} "ppxlib" {>= "0.33"} - "provider" {>= "0.0.7"} + "provider" {>= "0.0.8"} "re" {>= "1.8.0"} "sexp_pretty" {>= "v0.17" & < "v0.18"} "sherlodoc" {with-doc & >= "0.2"} "stdio" {>= "v0.17" & < "v0.18"} "vcs" {= version} + "vcs-arg" {= version} "vcs-command" {= version} "vcs-git" {= version} "vcs-git-blocking" {= version} "vcs-git-cli" {= version} - "vcs-param" {= version} "vcs-private-libs-base" {= version} "vcs-private-libs-eio" {= version} "vcs-test-helpers" {= version} diff --git a/vcs.opam b/vcs.opam index 6a0579a..7fe30ec 100644 --- a/vcs.opam +++ b/vcs.opam @@ -23,7 +23,7 @@ depends: [ "ppx_sexp_conv" {>= "v0.17" & < "v0.18"} "ppx_sexp_value" {>= "v0.17" & < "v0.18"} "ppxlib" {>= "0.33"} - "provider" {>= "0.0.7"} + "provider" {>= "0.0.8"} "vcs-private-libs-base" {= version} "odoc" {with-doc} ] From 9b3a93a026293a6bca0d332eb295be94263079b3 Mon Sep 17 00:00:00 2001 From: Mathieu Barbin Date: Thu, 22 Aug 2024 11:08:35 +0200 Subject: [PATCH 2/6] Update project synopsis --- COPYING.HEADER | 2 +- README.md | 2 +- bin/main.ml | 2 +- doc/docusaurus.config.ts | 2 +- doc/src/pages/index.md | 2 +- dune-project | 2 +- example/hello_blocking.ml | 2 +- example/hello_blocking.mli | 2 +- example/hello_error.ml | 2 +- example/hello_error.mli | 2 +- example/hello_git_cli.ml | 2 +- example/hello_git_cli.mli | 2 +- example/hello_vcs.ml | 2 +- example/hello_vcs.mli | 2 +- lib/vcs/src/author.ml | 2 +- lib/vcs/src/author.mli | 2 +- lib/vcs/src/bit_vector.ml | 2 +- lib/vcs/src/bit_vector.mli | 2 +- lib/vcs/src/branch_name.ml | 2 +- lib/vcs/src/branch_name.mli | 2 +- lib/vcs/src/commit_message.ml | 2 +- lib/vcs/src/commit_message.mli | 2 +- lib/vcs/src/err.ml | 2 +- lib/vcs/src/err.mli | 2 +- lib/vcs/src/exn0.ml | 2 +- lib/vcs/src/exn0.mli | 2 +- lib/vcs/src/file_contents.ml | 2 +- lib/vcs/src/file_contents.mli | 2 +- lib/vcs/src/for_test.ml | 2 +- lib/vcs/src/for_test.mli | 2 +- lib/vcs/src/git.ml | 2 +- lib/vcs/src/git.mli | 2 +- lib/vcs/src/git_output0.ml | 2 +- lib/vcs/src/git_output0.mli | 2 +- lib/vcs/src/log.ml | 2 +- lib/vcs/src/log.mli | 2 +- lib/vcs/src/mock_rev_gen.ml | 2 +- lib/vcs/src/mock_rev_gen.mli | 2 +- lib/vcs/src/mock_revs.ml | 2 +- lib/vcs/src/mock_revs.mli | 2 +- lib/vcs/src/name_status.ml | 2 +- lib/vcs/src/name_status.mli | 2 +- lib/vcs/src/non_raising.ml | 2 +- lib/vcs/src/non_raising.mli | 2 +- lib/vcs/src/num_lines_in_diff.ml | 2 +- lib/vcs/src/num_lines_in_diff.mli | 2 +- lib/vcs/src/num_status.ml | 2 +- lib/vcs/src/num_status.mli | 2 +- lib/vcs/src/path_in_repo.ml | 2 +- lib/vcs/src/path_in_repo.mli | 2 +- lib/vcs/src/platform.ml | 2 +- lib/vcs/src/platform.mli | 2 +- lib/vcs/src/ref_kind.ml | 2 +- lib/vcs/src/ref_kind.mli | 2 +- lib/vcs/src/refs.ml | 2 +- lib/vcs/src/refs.mli | 2 +- lib/vcs/src/remote_branch_name.ml | 2 +- lib/vcs/src/remote_branch_name.mli | 2 +- lib/vcs/src/remote_name.ml | 2 +- lib/vcs/src/remote_name.mli | 2 +- lib/vcs/src/repo_name.ml | 2 +- lib/vcs/src/repo_name.mli | 2 +- lib/vcs/src/repo_root.ml | 2 +- lib/vcs/src/repo_root.mli | 2 +- lib/vcs/src/rev.ml | 2 +- lib/vcs/src/rev.mli | 2 +- lib/vcs/src/tag_name.ml | 2 +- lib/vcs/src/tag_name.mli | 2 +- lib/vcs/src/trait.ml | 2 +- lib/vcs/src/trait.mli | 2 +- lib/vcs/src/trait_add.mli | 2 +- lib/vcs/src/trait_branch.mli | 2 +- lib/vcs/src/trait_commit.mli | 2 +- lib/vcs/src/trait_config.mli | 2 +- lib/vcs/src/trait_file_system.mli | 2 +- lib/vcs/src/trait_git.mli | 2 +- lib/vcs/src/trait_init.mli | 2 +- lib/vcs/src/trait_log.mli | 2 +- lib/vcs/src/trait_ls_files.mli | 2 +- lib/vcs/src/trait_name_status.mli | 2 +- lib/vcs/src/trait_num_status.mli | 2 +- lib/vcs/src/trait_refs.mli | 2 +- lib/vcs/src/trait_rev_parse.mli | 2 +- lib/vcs/src/trait_show.mli | 2 +- lib/vcs/src/tree.ml | 2 +- lib/vcs/src/tree.mli | 2 +- lib/vcs/src/url.ml | 2 +- lib/vcs/src/url.mli | 2 +- lib/vcs/src/user_email.ml | 2 +- lib/vcs/src/user_email.mli | 2 +- lib/vcs/src/user_handle.ml | 2 +- lib/vcs/src/user_handle.mli | 2 +- lib/vcs/src/user_name.ml | 2 +- lib/vcs/src/user_name.mli | 2 +- lib/vcs/src/validated_string.ml | 2 +- lib/vcs/src/validated_string.mli | 2 +- lib/vcs/src/validated_string_intf.mli | 2 +- lib/vcs/src/vcs.ml | 2 +- lib/vcs/src/vcs.mli | 4 ++-- lib/vcs/src/vcs0.ml | 2 +- lib/vcs/src/vcs0.mli | 2 +- lib/vcs/src/vcs_exn.ml | 2 +- lib/vcs/src/vcs_exn.mli | 2 +- lib/vcs/src/vcs_interface.mli | 2 +- lib/vcs/src/vcs_or_error.ml | 2 +- lib/vcs/src/vcs_or_error.mli | 2 +- lib/vcs/src/vcs_or_error0.ml | 2 +- lib/vcs/src/vcs_or_error0.mli | 2 +- lib/vcs/src/vcs_result.ml | 2 +- lib/vcs/src/vcs_result.mli | 2 +- lib/vcs/src/vcs_result0.ml | 2 +- lib/vcs/src/vcs_result0.mli | 2 +- lib/vcs/test/test__author.ml | 2 +- lib/vcs/test/test__author.mli | 2 +- lib/vcs/test/test__bit_vector.ml | 2 +- lib/vcs/test/test__bit_vector.mli | 2 +- lib/vcs/test/test__branch_name.ml | 2 +- lib/vcs/test/test__branch_name.mli | 2 +- lib/vcs/test/test__commit_message.ml | 2 +- lib/vcs/test/test__commit_message.mli | 2 +- lib/vcs/test/test__err.ml | 2 +- lib/vcs/test/test__err.mli | 2 +- lib/vcs/test/test__exn.ml | 2 +- lib/vcs/test/test__exn.mli | 2 +- lib/vcs/test/test__file_contents.ml | 2 +- lib/vcs/test/test__file_contents.mli | 2 +- lib/vcs/test/test__git.ml | 2 +- lib/vcs/test/test__git.mli | 2 +- lib/vcs/test/test__log.ml | 2 +- lib/vcs/test/test__log.mli | 2 +- lib/vcs/test/test__mock_rev_gen.ml | 2 +- lib/vcs/test/test__mock_rev_gen.mli | 2 +- lib/vcs/test/test__mock_revs.ml | 2 +- lib/vcs/test/test__mock_revs.mli | 2 +- lib/vcs/test/test__name_status.ml | 2 +- lib/vcs/test/test__name_status.mli | 2 +- lib/vcs/test/test__num_lines_in_diff.ml | 2 +- lib/vcs/test/test__num_lines_in_diff.mli | 2 +- lib/vcs/test/test__num_status.ml | 2 +- lib/vcs/test/test__num_status.mli | 2 +- lib/vcs/test/test__path_in_repo.ml | 2 +- lib/vcs/test/test__path_in_repo.mli | 2 +- lib/vcs/test/test__platform.ml | 2 +- lib/vcs/test/test__platform.mli | 2 +- lib/vcs/test/test__ref_kind.ml | 2 +- lib/vcs/test/test__ref_kind.mli | 2 +- lib/vcs/test/test__refs.ml | 2 +- lib/vcs/test/test__refs.mli | 2 +- lib/vcs/test/test__remote_branch_name.ml | 2 +- lib/vcs/test/test__remote_branch_name.mli | 2 +- lib/vcs/test/test__remote_name.ml | 2 +- lib/vcs/test/test__remote_name.mli | 2 +- lib/vcs/test/test__repo_name.ml | 2 +- lib/vcs/test/test__repo_name.mli | 2 +- lib/vcs/test/test__repo_root.ml | 2 +- lib/vcs/test/test__repo_root.mli | 2 +- lib/vcs/test/test__result.ml | 2 +- lib/vcs/test/test__result.mli | 2 +- lib/vcs/test/test__rev.ml | 2 +- lib/vcs/test/test__rev.mli | 2 +- lib/vcs/test/test__rev_parse.ml | 2 +- lib/vcs/test/test__rev_parse.mli | 2 +- lib/vcs/test/test__tag_name.ml | 2 +- lib/vcs/test/test__tag_name.mli | 2 +- lib/vcs/test/test__tree.ml | 2 +- lib/vcs/test/test__tree.mli | 2 +- lib/vcs/test/test__url.ml | 2 +- lib/vcs/test/test__url.mli | 2 +- lib/vcs/test/test__user_email.ml | 2 +- lib/vcs/test/test__user_email.mli | 2 +- lib/vcs/test/test__user_handle.ml | 2 +- lib/vcs/test/test__user_handle.mli | 2 +- lib/vcs/test/test__user_name.ml | 2 +- lib/vcs/test/test__user_name.mli | 2 +- lib/vcs_arg/src/vcs_arg.ml | 2 +- lib/vcs_arg/src/vcs_arg.mli | 2 +- lib/vcs_arg/test/test__vcs_arg.ml | 2 +- lib/vcs_arg/test/test__vcs_arg.mli | 2 +- lib/vcs_command/src/vcs_command.ml | 2 +- lib/vcs_command/src/vcs_command.mli | 2 +- lib/vcs_command/test/test__vcs_command.ml | 2 +- lib/vcs_command/test/test__vcs_command.mli | 2 +- lib/vcs_git/src/runtime.ml | 2 +- lib/vcs_git/src/runtime.mli | 2 +- lib/vcs_git/src/vcs_git.ml | 2 +- lib/vcs_git/src/vcs_git.mli | 2 +- lib/vcs_git/test/test__hello_commit.ml | 2 +- lib/vcs_git/test/test__hello_commit.mli | 2 +- lib/vcs_git/test/test__init.ml | 2 +- lib/vcs_git/test/test__init.mli | 2 +- lib/vcs_git_blocking/src/runtime.ml | 2 +- lib/vcs_git_blocking/src/runtime.mli | 2 +- lib/vcs_git_blocking/src/vcs_git_blocking.ml | 2 +- lib/vcs_git_blocking/src/vcs_git_blocking.mli | 2 +- lib/vcs_git_blocking/test/test__hello_commit.ml | 2 +- lib/vcs_git_blocking/test/test__hello_commit.mli | 2 +- lib/vcs_git_cli/src/add.ml | 2 +- lib/vcs_git_cli/src/add.mli | 2 +- lib/vcs_git_cli/src/branch.ml | 2 +- lib/vcs_git_cli/src/branch.mli | 2 +- lib/vcs_git_cli/src/commit.ml | 2 +- lib/vcs_git_cli/src/commit.mli | 2 +- lib/vcs_git_cli/src/config.ml | 2 +- lib/vcs_git_cli/src/config.mli | 2 +- lib/vcs_git_cli/src/init.ml | 2 +- lib/vcs_git_cli/src/init.mli | 2 +- lib/vcs_git_cli/src/log.ml | 2 +- lib/vcs_git_cli/src/log.mli | 2 +- lib/vcs_git_cli/src/ls_files.ml | 2 +- lib/vcs_git_cli/src/ls_files.mli | 2 +- lib/vcs_git_cli/src/munged_path.ml | 2 +- lib/vcs_git_cli/src/munged_path.mli | 2 +- lib/vcs_git_cli/src/name_status.ml | 2 +- lib/vcs_git_cli/src/name_status.mli | 2 +- lib/vcs_git_cli/src/num_status.ml | 2 +- lib/vcs_git_cli/src/num_status.mli | 2 +- lib/vcs_git_cli/src/refs.ml | 2 +- lib/vcs_git_cli/src/refs.mli | 2 +- lib/vcs_git_cli/src/rev_parse.ml | 2 +- lib/vcs_git_cli/src/rev_parse.mli | 2 +- lib/vcs_git_cli/src/runtime.mli | 2 +- lib/vcs_git_cli/src/show.ml | 2 +- lib/vcs_git_cli/src/show.mli | 2 +- lib/vcs_git_cli/src/vcs_git_cli.ml | 2 +- lib/vcs_git_cli/src/vcs_git_cli.mli | 2 +- lib/vcs_git_cli/test/test__log.ml | 2 +- lib/vcs_git_cli/test/test__log.mli | 2 +- lib/vcs_git_cli/test/test__munged_path.ml | 2 +- lib/vcs_git_cli/test/test__munged_path.mli | 2 +- lib/vcs_git_cli/test/test__name_status.ml | 2 +- lib/vcs_git_cli/test/test__name_status.mli | 2 +- lib/vcs_git_cli/test/test__num_status.ml | 2 +- lib/vcs_git_cli/test/test__num_status.mli | 2 +- lib/vcs_git_cli/test/test__refs.ml | 2 +- lib/vcs_git_cli/test/test__refs.mli | 2 +- lib/vcs_git_cli/test/test__show.ml | 2 +- lib/vcs_git_cli/test/test__show.mli | 2 +- lib/vcs_test_helpers/src/vcs_test_helpers.ml | 2 +- lib/vcs_test_helpers/src/vcs_test_helpers.mli | 2 +- lib/vcs_test_helpers/test/test__vcs_test_helpers.ml | 2 +- lib/vcs_test_helpers/test/test__vcs_test_helpers.mli | 2 +- test/expect/find_ref.ml | 2 +- test/expect/find_ref.mli | 2 +- test/expect/num_status_without_lines.ml | 2 +- test/expect/num_status_without_lines.mli | 2 +- vcs.opam | 2 +- 246 files changed, 247 insertions(+), 247 deletions(-) diff --git a/COPYING.HEADER b/COPYING.HEADER index a5d73f7..8aa8352 100644 --- a/COPYING.HEADER +++ b/COPYING.HEADER @@ -1,4 +1,4 @@ -Vcs - a Versatile OCaml Library for Git Interaction +Vcs - a Versatile OCaml Library for Git Operations Copyright (C) 2024 Mathieu Barbin This file is part of Vcs. diff --git a/README.md b/README.md index 1a00622..e5a17f1 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

-

A Versatile OCaml Library for Git Interaction

+

A Versatile OCaml Library for Git Operations

*) (* *) (* This file is part of Vcs. *) diff --git a/doc/docusaurus.config.ts b/doc/docusaurus.config.ts index 6bf944b..d57beb0 100644 --- a/doc/docusaurus.config.ts +++ b/doc/docusaurus.config.ts @@ -4,7 +4,7 @@ import type * as Preset from '@docusaurus/preset-classic'; const config: Config = { title: 'ocaml-vcs', - tagline: 'A Versatile OCaml Library for Git Interaction', + tagline: 'A Versatile OCaml Library for Git Operations', favicon: 'img/favicon.ico', // Set the production url of your site here diff --git a/doc/src/pages/index.md b/doc/src/pages/index.md index 439e5de..6dcc754 100644 --- a/doc/src/pages/index.md +++ b/doc/src/pages/index.md @@ -1,5 +1,5 @@

-

A Versatile OCaml Library for Git Interaction

+

A Versatile OCaml Library for Git Operations

= 5.2)) diff --git a/example/hello_blocking.ml b/example/hello_blocking.ml index 69124eb..13fa597 100644 --- a/example/hello_blocking.ml +++ b/example/hello_blocking.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/example/hello_blocking.mli b/example/hello_blocking.mli index 8d9c023..45af050 100644 --- a/example/hello_blocking.mli +++ b/example/hello_blocking.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/example/hello_error.ml b/example/hello_error.ml index b0ac075..a77e654 100644 --- a/example/hello_error.ml +++ b/example/hello_error.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/example/hello_error.mli b/example/hello_error.mli index 8d9c023..45af050 100644 --- a/example/hello_error.mli +++ b/example/hello_error.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/example/hello_git_cli.ml b/example/hello_git_cli.ml index 502a237..f8257c8 100644 --- a/example/hello_git_cli.ml +++ b/example/hello_git_cli.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/example/hello_git_cli.mli b/example/hello_git_cli.mli index 8d9c023..45af050 100644 --- a/example/hello_git_cli.mli +++ b/example/hello_git_cli.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/example/hello_vcs.ml b/example/hello_vcs.ml index bdfd293..e231388 100644 --- a/example/hello_vcs.ml +++ b/example/hello_vcs.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/example/hello_vcs.mli b/example/hello_vcs.mli index 8d9c023..45af050 100644 --- a/example/hello_vcs.mli +++ b/example/hello_vcs.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/author.ml b/lib/vcs/src/author.ml index bd57836..cafde77 100644 --- a/lib/vcs/src/author.ml +++ b/lib/vcs/src/author.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/author.mli b/lib/vcs/src/author.mli index 4d8b59f..ca7fcfd 100644 --- a/lib/vcs/src/author.mli +++ b/lib/vcs/src/author.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/bit_vector.ml b/lib/vcs/src/bit_vector.ml index 4795840..4e6afe1 100644 --- a/lib/vcs/src/bit_vector.ml +++ b/lib/vcs/src/bit_vector.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/bit_vector.mli b/lib/vcs/src/bit_vector.mli index 894cd28..e3c8c68 100644 --- a/lib/vcs/src/bit_vector.mli +++ b/lib/vcs/src/bit_vector.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/branch_name.ml b/lib/vcs/src/branch_name.ml index 61252f7..4e6f502 100644 --- a/lib/vcs/src/branch_name.ml +++ b/lib/vcs/src/branch_name.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/branch_name.mli b/lib/vcs/src/branch_name.mli index f315bd3..fbc95dd 100644 --- a/lib/vcs/src/branch_name.mli +++ b/lib/vcs/src/branch_name.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/commit_message.ml b/lib/vcs/src/commit_message.ml index 2dfaf38..3ed4c12 100644 --- a/lib/vcs/src/commit_message.ml +++ b/lib/vcs/src/commit_message.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/commit_message.mli b/lib/vcs/src/commit_message.mli index 5e91d5e..46e6566 100644 --- a/lib/vcs/src/commit_message.mli +++ b/lib/vcs/src/commit_message.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/err.ml b/lib/vcs/src/err.ml index f023f99..ec216db 100644 --- a/lib/vcs/src/err.ml +++ b/lib/vcs/src/err.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/err.mli b/lib/vcs/src/err.mli index f2fbff8..31131c5 100644 --- a/lib/vcs/src/err.mli +++ b/lib/vcs/src/err.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/exn0.ml b/lib/vcs/src/exn0.ml index b4c2ca6..1b483f4 100644 --- a/lib/vcs/src/exn0.ml +++ b/lib/vcs/src/exn0.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/exn0.mli b/lib/vcs/src/exn0.mli index 3c39ddd..127605f 100644 --- a/lib/vcs/src/exn0.mli +++ b/lib/vcs/src/exn0.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/file_contents.ml b/lib/vcs/src/file_contents.ml index 272383a..fd2db23 100644 --- a/lib/vcs/src/file_contents.ml +++ b/lib/vcs/src/file_contents.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/file_contents.mli b/lib/vcs/src/file_contents.mli index 4fe4545..ba3afd2 100644 --- a/lib/vcs/src/file_contents.mli +++ b/lib/vcs/src/file_contents.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/for_test.ml b/lib/vcs/src/for_test.ml index aa9f660..2ce59e3 100644 --- a/lib/vcs/src/for_test.ml +++ b/lib/vcs/src/for_test.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/for_test.mli b/lib/vcs/src/for_test.mli index 0a644c8..9a9f2a5 100644 --- a/lib/vcs/src/for_test.mli +++ b/lib/vcs/src/for_test.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/git.ml b/lib/vcs/src/git.ml index e6650c3..6ba657f 100644 --- a/lib/vcs/src/git.ml +++ b/lib/vcs/src/git.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/git.mli b/lib/vcs/src/git.mli index 0edc4d2..5996f2f 100644 --- a/lib/vcs/src/git.mli +++ b/lib/vcs/src/git.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/git_output0.ml b/lib/vcs/src/git_output0.ml index cfec0d8..a10142d 100644 --- a/lib/vcs/src/git_output0.ml +++ b/lib/vcs/src/git_output0.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/git_output0.mli b/lib/vcs/src/git_output0.mli index 443b380..4dcb723 100644 --- a/lib/vcs/src/git_output0.mli +++ b/lib/vcs/src/git_output0.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/log.ml b/lib/vcs/src/log.ml index a1f89b1..335938c 100644 --- a/lib/vcs/src/log.ml +++ b/lib/vcs/src/log.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/log.mli b/lib/vcs/src/log.mli index 6e5ab2e..c229c7e 100644 --- a/lib/vcs/src/log.mli +++ b/lib/vcs/src/log.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/mock_rev_gen.ml b/lib/vcs/src/mock_rev_gen.ml index fa8a5ca..e17b54a 100644 --- a/lib/vcs/src/mock_rev_gen.ml +++ b/lib/vcs/src/mock_rev_gen.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/mock_rev_gen.mli b/lib/vcs/src/mock_rev_gen.mli index bc31692..9c4ab21 100644 --- a/lib/vcs/src/mock_rev_gen.mli +++ b/lib/vcs/src/mock_rev_gen.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/mock_revs.ml b/lib/vcs/src/mock_revs.ml index 979a93a..2c4f981 100644 --- a/lib/vcs/src/mock_revs.ml +++ b/lib/vcs/src/mock_revs.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/mock_revs.mli b/lib/vcs/src/mock_revs.mli index 88a7bac..01ecb7d 100644 --- a/lib/vcs/src/mock_revs.mli +++ b/lib/vcs/src/mock_revs.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/name_status.ml b/lib/vcs/src/name_status.ml index ef55268..e8f07a4 100644 --- a/lib/vcs/src/name_status.ml +++ b/lib/vcs/src/name_status.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/name_status.mli b/lib/vcs/src/name_status.mli index 9ea8f7c..30a712c 100644 --- a/lib/vcs/src/name_status.mli +++ b/lib/vcs/src/name_status.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/non_raising.ml b/lib/vcs/src/non_raising.ml index 8c80c0f..361521b 100644 --- a/lib/vcs/src/non_raising.ml +++ b/lib/vcs/src/non_raising.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/non_raising.mli b/lib/vcs/src/non_raising.mli index e950045..5cc1d42 100644 --- a/lib/vcs/src/non_raising.mli +++ b/lib/vcs/src/non_raising.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/num_lines_in_diff.ml b/lib/vcs/src/num_lines_in_diff.ml index b53d635..7c8cba2 100644 --- a/lib/vcs/src/num_lines_in_diff.ml +++ b/lib/vcs/src/num_lines_in_diff.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/num_lines_in_diff.mli b/lib/vcs/src/num_lines_in_diff.mli index 450abb8..27b3327 100644 --- a/lib/vcs/src/num_lines_in_diff.mli +++ b/lib/vcs/src/num_lines_in_diff.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/num_status.ml b/lib/vcs/src/num_status.ml index 9b015ad..53c3d0b 100644 --- a/lib/vcs/src/num_status.ml +++ b/lib/vcs/src/num_status.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/num_status.mli b/lib/vcs/src/num_status.mli index e757704..52d5cde 100644 --- a/lib/vcs/src/num_status.mli +++ b/lib/vcs/src/num_status.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/path_in_repo.ml b/lib/vcs/src/path_in_repo.ml index 3f33231..50394d6 100644 --- a/lib/vcs/src/path_in_repo.ml +++ b/lib/vcs/src/path_in_repo.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/path_in_repo.mli b/lib/vcs/src/path_in_repo.mli index b550955..c81ffe0 100644 --- a/lib/vcs/src/path_in_repo.mli +++ b/lib/vcs/src/path_in_repo.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/platform.ml b/lib/vcs/src/platform.ml index f020583..834a074 100644 --- a/lib/vcs/src/platform.ml +++ b/lib/vcs/src/platform.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/platform.mli b/lib/vcs/src/platform.mli index 9854539..abf4b94 100644 --- a/lib/vcs/src/platform.mli +++ b/lib/vcs/src/platform.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/ref_kind.ml b/lib/vcs/src/ref_kind.ml index 088d0fd..b5e4dac 100644 --- a/lib/vcs/src/ref_kind.ml +++ b/lib/vcs/src/ref_kind.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/ref_kind.mli b/lib/vcs/src/ref_kind.mli index 8f7739c..73f155e 100644 --- a/lib/vcs/src/ref_kind.mli +++ b/lib/vcs/src/ref_kind.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/refs.ml b/lib/vcs/src/refs.ml index e5adbca..49ba816 100644 --- a/lib/vcs/src/refs.ml +++ b/lib/vcs/src/refs.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/refs.mli b/lib/vcs/src/refs.mli index 2d93bb0..bbcc85d 100644 --- a/lib/vcs/src/refs.mli +++ b/lib/vcs/src/refs.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/remote_branch_name.ml b/lib/vcs/src/remote_branch_name.ml index 4a07641..d822b38 100644 --- a/lib/vcs/src/remote_branch_name.ml +++ b/lib/vcs/src/remote_branch_name.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/remote_branch_name.mli b/lib/vcs/src/remote_branch_name.mli index 662aada..810c0a6 100644 --- a/lib/vcs/src/remote_branch_name.mli +++ b/lib/vcs/src/remote_branch_name.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/remote_name.ml b/lib/vcs/src/remote_name.ml index 46811cb..1a9946d 100644 --- a/lib/vcs/src/remote_name.ml +++ b/lib/vcs/src/remote_name.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/remote_name.mli b/lib/vcs/src/remote_name.mli index 55d4d58..d19a2ea 100644 --- a/lib/vcs/src/remote_name.mli +++ b/lib/vcs/src/remote_name.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/repo_name.ml b/lib/vcs/src/repo_name.ml index 010d1bf..a42a345 100644 --- a/lib/vcs/src/repo_name.ml +++ b/lib/vcs/src/repo_name.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/repo_name.mli b/lib/vcs/src/repo_name.mli index 3b752f2..80a27e0 100644 --- a/lib/vcs/src/repo_name.mli +++ b/lib/vcs/src/repo_name.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/repo_root.ml b/lib/vcs/src/repo_root.ml index 1741d73..cd1a468 100644 --- a/lib/vcs/src/repo_root.ml +++ b/lib/vcs/src/repo_root.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/repo_root.mli b/lib/vcs/src/repo_root.mli index d175f5d..f1d34df 100644 --- a/lib/vcs/src/repo_root.mli +++ b/lib/vcs/src/repo_root.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/rev.ml b/lib/vcs/src/rev.ml index 4061173..4af4b3e 100644 --- a/lib/vcs/src/rev.ml +++ b/lib/vcs/src/rev.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/rev.mli b/lib/vcs/src/rev.mli index 75d8910..0368e0b 100644 --- a/lib/vcs/src/rev.mli +++ b/lib/vcs/src/rev.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/tag_name.ml b/lib/vcs/src/tag_name.ml index ace9de4..8d02f94 100644 --- a/lib/vcs/src/tag_name.ml +++ b/lib/vcs/src/tag_name.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/tag_name.mli b/lib/vcs/src/tag_name.mli index 0f0602c..aa48f18 100644 --- a/lib/vcs/src/tag_name.mli +++ b/lib/vcs/src/tag_name.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/trait.ml b/lib/vcs/src/trait.ml index 5412e2c..038cb23 100644 --- a/lib/vcs/src/trait.ml +++ b/lib/vcs/src/trait.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/trait.mli b/lib/vcs/src/trait.mli index 8b51f96..81c18a2 100644 --- a/lib/vcs/src/trait.mli +++ b/lib/vcs/src/trait.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/trait_add.mli b/lib/vcs/src/trait_add.mli index ba18942..e03fd0e 100644 --- a/lib/vcs/src/trait_add.mli +++ b/lib/vcs/src/trait_add.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/trait_branch.mli b/lib/vcs/src/trait_branch.mli index 11b627c..92a6499 100644 --- a/lib/vcs/src/trait_branch.mli +++ b/lib/vcs/src/trait_branch.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/trait_commit.mli b/lib/vcs/src/trait_commit.mli index ff08b27..b273e37 100644 --- a/lib/vcs/src/trait_commit.mli +++ b/lib/vcs/src/trait_commit.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/trait_config.mli b/lib/vcs/src/trait_config.mli index d25c001..17fdfea 100644 --- a/lib/vcs/src/trait_config.mli +++ b/lib/vcs/src/trait_config.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/trait_file_system.mli b/lib/vcs/src/trait_file_system.mli index 1a583b0..f019d3c 100644 --- a/lib/vcs/src/trait_file_system.mli +++ b/lib/vcs/src/trait_file_system.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/trait_git.mli b/lib/vcs/src/trait_git.mli index ef0832e..b58148c 100644 --- a/lib/vcs/src/trait_git.mli +++ b/lib/vcs/src/trait_git.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/trait_init.mli b/lib/vcs/src/trait_init.mli index 34f9ccd..d3df364 100644 --- a/lib/vcs/src/trait_init.mli +++ b/lib/vcs/src/trait_init.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/trait_log.mli b/lib/vcs/src/trait_log.mli index 0e24114..b1873b7 100644 --- a/lib/vcs/src/trait_log.mli +++ b/lib/vcs/src/trait_log.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/trait_ls_files.mli b/lib/vcs/src/trait_ls_files.mli index 4d5503d..a74e5c0 100644 --- a/lib/vcs/src/trait_ls_files.mli +++ b/lib/vcs/src/trait_ls_files.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/trait_name_status.mli b/lib/vcs/src/trait_name_status.mli index b8b88c8..2fc48c5 100644 --- a/lib/vcs/src/trait_name_status.mli +++ b/lib/vcs/src/trait_name_status.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/trait_num_status.mli b/lib/vcs/src/trait_num_status.mli index 1a0a6a4..841b265 100644 --- a/lib/vcs/src/trait_num_status.mli +++ b/lib/vcs/src/trait_num_status.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/trait_refs.mli b/lib/vcs/src/trait_refs.mli index ad941a1..9e6c84b 100644 --- a/lib/vcs/src/trait_refs.mli +++ b/lib/vcs/src/trait_refs.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/trait_rev_parse.mli b/lib/vcs/src/trait_rev_parse.mli index 9242551..7e90b51 100644 --- a/lib/vcs/src/trait_rev_parse.mli +++ b/lib/vcs/src/trait_rev_parse.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/trait_show.mli b/lib/vcs/src/trait_show.mli index 90308fd..7c65be9 100644 --- a/lib/vcs/src/trait_show.mli +++ b/lib/vcs/src/trait_show.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/tree.ml b/lib/vcs/src/tree.ml index 322216e..979c884 100644 --- a/lib/vcs/src/tree.ml +++ b/lib/vcs/src/tree.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/tree.mli b/lib/vcs/src/tree.mli index 9d7a074..c75b121 100644 --- a/lib/vcs/src/tree.mli +++ b/lib/vcs/src/tree.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/url.ml b/lib/vcs/src/url.ml index d927cfb..da9b03e 100644 --- a/lib/vcs/src/url.ml +++ b/lib/vcs/src/url.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/url.mli b/lib/vcs/src/url.mli index ba9f784..2d146d3 100644 --- a/lib/vcs/src/url.mli +++ b/lib/vcs/src/url.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/user_email.ml b/lib/vcs/src/user_email.ml index a47497f..6656f58 100644 --- a/lib/vcs/src/user_email.ml +++ b/lib/vcs/src/user_email.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/user_email.mli b/lib/vcs/src/user_email.mli index eef2a05..35f078b 100644 --- a/lib/vcs/src/user_email.mli +++ b/lib/vcs/src/user_email.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/user_handle.ml b/lib/vcs/src/user_handle.ml index fd3183b..238d904 100644 --- a/lib/vcs/src/user_handle.ml +++ b/lib/vcs/src/user_handle.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/user_handle.mli b/lib/vcs/src/user_handle.mli index 31f8903..b0f0a21 100644 --- a/lib/vcs/src/user_handle.mli +++ b/lib/vcs/src/user_handle.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/user_name.ml b/lib/vcs/src/user_name.ml index 601067d..5a55087 100644 --- a/lib/vcs/src/user_name.ml +++ b/lib/vcs/src/user_name.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/user_name.mli b/lib/vcs/src/user_name.mli index 93bfc68..29be187 100644 --- a/lib/vcs/src/user_name.mli +++ b/lib/vcs/src/user_name.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/validated_string.ml b/lib/vcs/src/validated_string.ml index 02c3da4..b6bf932 100644 --- a/lib/vcs/src/validated_string.ml +++ b/lib/vcs/src/validated_string.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/validated_string.mli b/lib/vcs/src/validated_string.mli index c764284..cd13642 100644 --- a/lib/vcs/src/validated_string.mli +++ b/lib/vcs/src/validated_string.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/validated_string_intf.mli b/lib/vcs/src/validated_string_intf.mli index d4cd4a5..f3e8dc9 100644 --- a/lib/vcs/src/validated_string_intf.mli +++ b/lib/vcs/src/validated_string_intf.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/vcs.ml b/lib/vcs/src/vcs.ml index f90106b..b52c07a 100644 --- a/lib/vcs/src/vcs.ml +++ b/lib/vcs/src/vcs.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/vcs.mli b/lib/vcs/src/vcs.mli index bb32820..d291f3a 100644 --- a/lib/vcs/src/vcs.mli +++ b/lib/vcs/src/vcs.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) @@ -19,7 +19,7 @@ (*_ and , respectively. *) (*_******************************************************************************) -(** A Versatile Library for Git Interaction. +(** A Versatile Library for Git Operations. Vcs is a library providing a direct-style API for interacting with Git repositories in a type-safe way. It is designed as an interface composed of diff --git a/lib/vcs/src/vcs0.ml b/lib/vcs/src/vcs0.ml index 9130c50..5c591fd 100644 --- a/lib/vcs/src/vcs0.ml +++ b/lib/vcs/src/vcs0.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/vcs0.mli b/lib/vcs/src/vcs0.mli index 82d071a..bfc2527 100644 --- a/lib/vcs/src/vcs0.mli +++ b/lib/vcs/src/vcs0.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/vcs_exn.ml b/lib/vcs/src/vcs_exn.ml index 52f14fd..e8733ef 100644 --- a/lib/vcs/src/vcs_exn.ml +++ b/lib/vcs/src/vcs_exn.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/vcs_exn.mli b/lib/vcs/src/vcs_exn.mli index a454d1c..f847ae1 100644 --- a/lib/vcs/src/vcs_exn.mli +++ b/lib/vcs/src/vcs_exn.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/vcs_interface.mli b/lib/vcs/src/vcs_interface.mli index de352f7..447ba9f 100644 --- a/lib/vcs/src/vcs_interface.mli +++ b/lib/vcs/src/vcs_interface.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/vcs_or_error.ml b/lib/vcs/src/vcs_or_error.ml index a4bfa83..18c55a1 100644 --- a/lib/vcs/src/vcs_or_error.ml +++ b/lib/vcs/src/vcs_or_error.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/vcs_or_error.mli b/lib/vcs/src/vcs_or_error.mli index c00f0bb..899f9f2 100644 --- a/lib/vcs/src/vcs_or_error.mli +++ b/lib/vcs/src/vcs_or_error.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/vcs_or_error0.ml b/lib/vcs/src/vcs_or_error0.ml index 3528db9..514ebc5 100644 --- a/lib/vcs/src/vcs_or_error0.ml +++ b/lib/vcs/src/vcs_or_error0.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/vcs_or_error0.mli b/lib/vcs/src/vcs_or_error0.mli index 5fa01d2..b314ffe 100644 --- a/lib/vcs/src/vcs_or_error0.mli +++ b/lib/vcs/src/vcs_or_error0.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/vcs_result.ml b/lib/vcs/src/vcs_result.ml index 4c26039..5719a9e 100644 --- a/lib/vcs/src/vcs_result.ml +++ b/lib/vcs/src/vcs_result.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/vcs_result.mli b/lib/vcs/src/vcs_result.mli index f8b2aaa..ff31526 100644 --- a/lib/vcs/src/vcs_result.mli +++ b/lib/vcs/src/vcs_result.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/src/vcs_result0.ml b/lib/vcs/src/vcs_result0.ml index d87140f..97c6eb8 100644 --- a/lib/vcs/src/vcs_result0.ml +++ b/lib/vcs/src/vcs_result0.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/src/vcs_result0.mli b/lib/vcs/src/vcs_result0.mli index 14016d0..11d22f4 100644 --- a/lib/vcs/src/vcs_result0.mli +++ b/lib/vcs/src/vcs_result0.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__author.ml b/lib/vcs/test/test__author.ml index d970535..cb7aa4c 100644 --- a/lib/vcs/test/test__author.ml +++ b/lib/vcs/test/test__author.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__author.mli b/lib/vcs/test/test__author.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__author.mli +++ b/lib/vcs/test/test__author.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__bit_vector.ml b/lib/vcs/test/test__bit_vector.ml index c383bd1..05c3b01 100644 --- a/lib/vcs/test/test__bit_vector.ml +++ b/lib/vcs/test/test__bit_vector.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__bit_vector.mli b/lib/vcs/test/test__bit_vector.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__bit_vector.mli +++ b/lib/vcs/test/test__bit_vector.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__branch_name.ml b/lib/vcs/test/test__branch_name.ml index a876d23..8f501ee 100644 --- a/lib/vcs/test/test__branch_name.ml +++ b/lib/vcs/test/test__branch_name.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__branch_name.mli b/lib/vcs/test/test__branch_name.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__branch_name.mli +++ b/lib/vcs/test/test__branch_name.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__commit_message.ml b/lib/vcs/test/test__commit_message.ml index fefc462..2bf2244 100644 --- a/lib/vcs/test/test__commit_message.ml +++ b/lib/vcs/test/test__commit_message.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__commit_message.mli b/lib/vcs/test/test__commit_message.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__commit_message.mli +++ b/lib/vcs/test/test__commit_message.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__err.ml b/lib/vcs/test/test__err.ml index b36eb97..5353b88 100644 --- a/lib/vcs/test/test__err.ml +++ b/lib/vcs/test/test__err.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__err.mli b/lib/vcs/test/test__err.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__err.mli +++ b/lib/vcs/test/test__err.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__exn.ml b/lib/vcs/test/test__exn.ml index 714b8ee..b633ae8 100644 --- a/lib/vcs/test/test__exn.ml +++ b/lib/vcs/test/test__exn.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__exn.mli b/lib/vcs/test/test__exn.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__exn.mli +++ b/lib/vcs/test/test__exn.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__file_contents.ml b/lib/vcs/test/test__file_contents.ml index 72dd466..268f924 100644 --- a/lib/vcs/test/test__file_contents.ml +++ b/lib/vcs/test/test__file_contents.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__file_contents.mli b/lib/vcs/test/test__file_contents.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__file_contents.mli +++ b/lib/vcs/test/test__file_contents.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__git.ml b/lib/vcs/test/test__git.ml index d5591a7..65d679c 100644 --- a/lib/vcs/test/test__git.ml +++ b/lib/vcs/test/test__git.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__git.mli b/lib/vcs/test/test__git.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__git.mli +++ b/lib/vcs/test/test__git.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__log.ml b/lib/vcs/test/test__log.ml index 5f2ba6a..04d9bf1 100644 --- a/lib/vcs/test/test__log.ml +++ b/lib/vcs/test/test__log.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__log.mli b/lib/vcs/test/test__log.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__log.mli +++ b/lib/vcs/test/test__log.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__mock_rev_gen.ml b/lib/vcs/test/test__mock_rev_gen.ml index fcd7010..df22825 100644 --- a/lib/vcs/test/test__mock_rev_gen.ml +++ b/lib/vcs/test/test__mock_rev_gen.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__mock_rev_gen.mli b/lib/vcs/test/test__mock_rev_gen.mli index aa25e5f..951d437 100644 --- a/lib/vcs/test/test__mock_rev_gen.mli +++ b/lib/vcs/test/test__mock_rev_gen.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__mock_revs.ml b/lib/vcs/test/test__mock_revs.ml index 748dfd7..c7d1185 100644 --- a/lib/vcs/test/test__mock_revs.ml +++ b/lib/vcs/test/test__mock_revs.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__mock_revs.mli b/lib/vcs/test/test__mock_revs.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__mock_revs.mli +++ b/lib/vcs/test/test__mock_revs.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__name_status.ml b/lib/vcs/test/test__name_status.ml index b4d4f8f..092837d 100644 --- a/lib/vcs/test/test__name_status.ml +++ b/lib/vcs/test/test__name_status.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__name_status.mli b/lib/vcs/test/test__name_status.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__name_status.mli +++ b/lib/vcs/test/test__name_status.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__num_lines_in_diff.ml b/lib/vcs/test/test__num_lines_in_diff.ml index d424c9e..86575c5 100644 --- a/lib/vcs/test/test__num_lines_in_diff.ml +++ b/lib/vcs/test/test__num_lines_in_diff.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__num_lines_in_diff.mli b/lib/vcs/test/test__num_lines_in_diff.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__num_lines_in_diff.mli +++ b/lib/vcs/test/test__num_lines_in_diff.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__num_status.ml b/lib/vcs/test/test__num_status.ml index 410b8e2..c2583e6 100644 --- a/lib/vcs/test/test__num_status.ml +++ b/lib/vcs/test/test__num_status.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__num_status.mli b/lib/vcs/test/test__num_status.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__num_status.mli +++ b/lib/vcs/test/test__num_status.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__path_in_repo.ml b/lib/vcs/test/test__path_in_repo.ml index 2f0013e..f5b857a 100644 --- a/lib/vcs/test/test__path_in_repo.ml +++ b/lib/vcs/test/test__path_in_repo.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__path_in_repo.mli b/lib/vcs/test/test__path_in_repo.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__path_in_repo.mli +++ b/lib/vcs/test/test__path_in_repo.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__platform.ml b/lib/vcs/test/test__platform.ml index d90b644..54169e9 100644 --- a/lib/vcs/test/test__platform.ml +++ b/lib/vcs/test/test__platform.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__platform.mli b/lib/vcs/test/test__platform.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__platform.mli +++ b/lib/vcs/test/test__platform.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__ref_kind.ml b/lib/vcs/test/test__ref_kind.ml index 38792f3..54db97b 100644 --- a/lib/vcs/test/test__ref_kind.ml +++ b/lib/vcs/test/test__ref_kind.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__ref_kind.mli b/lib/vcs/test/test__ref_kind.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__ref_kind.mli +++ b/lib/vcs/test/test__ref_kind.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__refs.ml b/lib/vcs/test/test__refs.ml index 3c0f9f2..0c36076 100644 --- a/lib/vcs/test/test__refs.ml +++ b/lib/vcs/test/test__refs.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__refs.mli b/lib/vcs/test/test__refs.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__refs.mli +++ b/lib/vcs/test/test__refs.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__remote_branch_name.ml b/lib/vcs/test/test__remote_branch_name.ml index 82456e0..da0ff0b 100644 --- a/lib/vcs/test/test__remote_branch_name.ml +++ b/lib/vcs/test/test__remote_branch_name.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__remote_branch_name.mli b/lib/vcs/test/test__remote_branch_name.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__remote_branch_name.mli +++ b/lib/vcs/test/test__remote_branch_name.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__remote_name.ml b/lib/vcs/test/test__remote_name.ml index 79cfa98..57fc60b 100644 --- a/lib/vcs/test/test__remote_name.ml +++ b/lib/vcs/test/test__remote_name.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__remote_name.mli b/lib/vcs/test/test__remote_name.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__remote_name.mli +++ b/lib/vcs/test/test__remote_name.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__repo_name.ml b/lib/vcs/test/test__repo_name.ml index dda7e57..5acc4e8 100644 --- a/lib/vcs/test/test__repo_name.ml +++ b/lib/vcs/test/test__repo_name.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__repo_name.mli b/lib/vcs/test/test__repo_name.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__repo_name.mli +++ b/lib/vcs/test/test__repo_name.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__repo_root.ml b/lib/vcs/test/test__repo_root.ml index 1fc4976..73913ca 100644 --- a/lib/vcs/test/test__repo_root.ml +++ b/lib/vcs/test/test__repo_root.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__repo_root.mli b/lib/vcs/test/test__repo_root.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__repo_root.mli +++ b/lib/vcs/test/test__repo_root.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__result.ml b/lib/vcs/test/test__result.ml index f754b4b..cc659e7 100644 --- a/lib/vcs/test/test__result.ml +++ b/lib/vcs/test/test__result.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__result.mli b/lib/vcs/test/test__result.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__result.mli +++ b/lib/vcs/test/test__result.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__rev.ml b/lib/vcs/test/test__rev.ml index b2b56ed..93efec5 100644 --- a/lib/vcs/test/test__rev.ml +++ b/lib/vcs/test/test__rev.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__rev.mli b/lib/vcs/test/test__rev.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__rev.mli +++ b/lib/vcs/test/test__rev.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__rev_parse.ml b/lib/vcs/test/test__rev_parse.ml index 3c0f9f2..0c36076 100644 --- a/lib/vcs/test/test__rev_parse.ml +++ b/lib/vcs/test/test__rev_parse.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__rev_parse.mli b/lib/vcs/test/test__rev_parse.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__rev_parse.mli +++ b/lib/vcs/test/test__rev_parse.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__tag_name.ml b/lib/vcs/test/test__tag_name.ml index 68ea7ec..989d32d 100644 --- a/lib/vcs/test/test__tag_name.ml +++ b/lib/vcs/test/test__tag_name.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__tag_name.mli b/lib/vcs/test/test__tag_name.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__tag_name.mli +++ b/lib/vcs/test/test__tag_name.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__tree.ml b/lib/vcs/test/test__tree.ml index cbae91f..341d8e9 100644 --- a/lib/vcs/test/test__tree.ml +++ b/lib/vcs/test/test__tree.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__tree.mli b/lib/vcs/test/test__tree.mli index aa25e5f..951d437 100644 --- a/lib/vcs/test/test__tree.mli +++ b/lib/vcs/test/test__tree.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__url.ml b/lib/vcs/test/test__url.ml index f216b37..2a27f5c 100644 --- a/lib/vcs/test/test__url.ml +++ b/lib/vcs/test/test__url.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__url.mli b/lib/vcs/test/test__url.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__url.mli +++ b/lib/vcs/test/test__url.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__user_email.ml b/lib/vcs/test/test__user_email.ml index 12a37ad..85d0157 100644 --- a/lib/vcs/test/test__user_email.ml +++ b/lib/vcs/test/test__user_email.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__user_email.mli b/lib/vcs/test/test__user_email.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__user_email.mli +++ b/lib/vcs/test/test__user_email.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__user_handle.ml b/lib/vcs/test/test__user_handle.ml index 659be99..68d8423 100644 --- a/lib/vcs/test/test__user_handle.ml +++ b/lib/vcs/test/test__user_handle.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__user_handle.mli b/lib/vcs/test/test__user_handle.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__user_handle.mli +++ b/lib/vcs/test/test__user_handle.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs/test/test__user_name.ml b/lib/vcs/test/test__user_name.ml index b27ceaa..2f023cd 100644 --- a/lib/vcs/test/test__user_name.ml +++ b/lib/vcs/test/test__user_name.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs/test/test__user_name.mli b/lib/vcs/test/test__user_name.mli index 8d9c023..45af050 100644 --- a/lib/vcs/test/test__user_name.mli +++ b/lib/vcs/test/test__user_name.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_arg/src/vcs_arg.ml b/lib/vcs_arg/src/vcs_arg.ml index f9b0c96..f1237ac 100644 --- a/lib/vcs_arg/src/vcs_arg.ml +++ b/lib/vcs_arg/src/vcs_arg.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_arg/src/vcs_arg.mli b/lib/vcs_arg/src/vcs_arg.mli index 7feeb34..20336c6 100644 --- a/lib/vcs_arg/src/vcs_arg.mli +++ b/lib/vcs_arg/src/vcs_arg.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_arg/test/test__vcs_arg.ml b/lib/vcs_arg/test/test__vcs_arg.ml index 46efbfd..08254a3 100644 --- a/lib/vcs_arg/test/test__vcs_arg.ml +++ b/lib/vcs_arg/test/test__vcs_arg.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_arg/test/test__vcs_arg.mli b/lib/vcs_arg/test/test__vcs_arg.mli index aa25e5f..951d437 100644 --- a/lib/vcs_arg/test/test__vcs_arg.mli +++ b/lib/vcs_arg/test/test__vcs_arg.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_command/src/vcs_command.ml b/lib/vcs_command/src/vcs_command.ml index 574fc26..a888902 100644 --- a/lib/vcs_command/src/vcs_command.ml +++ b/lib/vcs_command/src/vcs_command.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_command/src/vcs_command.mli b/lib/vcs_command/src/vcs_command.mli index bce05e3..c80fe50 100644 --- a/lib/vcs_command/src/vcs_command.mli +++ b/lib/vcs_command/src/vcs_command.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_command/test/test__vcs_command.ml b/lib/vcs_command/test/test__vcs_command.ml index 6ea5943..cc57336 100644 --- a/lib/vcs_command/test/test__vcs_command.ml +++ b/lib/vcs_command/test/test__vcs_command.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_command/test/test__vcs_command.mli b/lib/vcs_command/test/test__vcs_command.mli index aa25e5f..951d437 100644 --- a/lib/vcs_command/test/test__vcs_command.mli +++ b/lib/vcs_command/test/test__vcs_command.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git/src/runtime.ml b/lib/vcs_git/src/runtime.ml index 2dca076..088eec0 100644 --- a/lib/vcs_git/src/runtime.ml +++ b/lib/vcs_git/src/runtime.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git/src/runtime.mli b/lib/vcs_git/src/runtime.mli index 41a6da1..c099ee5 100644 --- a/lib/vcs_git/src/runtime.mli +++ b/lib/vcs_git/src/runtime.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git/src/vcs_git.ml b/lib/vcs_git/src/vcs_git.ml index 323d002..881ead5 100644 --- a/lib/vcs_git/src/vcs_git.ml +++ b/lib/vcs_git/src/vcs_git.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git/src/vcs_git.mli b/lib/vcs_git/src/vcs_git.mli index 786b1d8..9d0d991 100644 --- a/lib/vcs_git/src/vcs_git.mli +++ b/lib/vcs_git/src/vcs_git.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git/test/test__hello_commit.ml b/lib/vcs_git/test/test__hello_commit.ml index 487d5db..78a10aa 100644 --- a/lib/vcs_git/test/test__hello_commit.ml +++ b/lib/vcs_git/test/test__hello_commit.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git/test/test__hello_commit.mli b/lib/vcs_git/test/test__hello_commit.mli index 8d9c023..45af050 100644 --- a/lib/vcs_git/test/test__hello_commit.mli +++ b/lib/vcs_git/test/test__hello_commit.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git/test/test__init.ml b/lib/vcs_git/test/test__init.ml index 48326f9..5898900 100644 --- a/lib/vcs_git/test/test__init.ml +++ b/lib/vcs_git/test/test__init.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git/test/test__init.mli b/lib/vcs_git/test/test__init.mli index aa25e5f..951d437 100644 --- a/lib/vcs_git/test/test__init.mli +++ b/lib/vcs_git/test/test__init.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_blocking/src/runtime.ml b/lib/vcs_git_blocking/src/runtime.ml index 8e5e259..1273fc6 100644 --- a/lib/vcs_git_blocking/src/runtime.ml +++ b/lib/vcs_git_blocking/src/runtime.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_blocking/src/runtime.mli b/lib/vcs_git_blocking/src/runtime.mli index c4c37d7..f6fd6dc 100644 --- a/lib/vcs_git_blocking/src/runtime.mli +++ b/lib/vcs_git_blocking/src/runtime.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_blocking/src/vcs_git_blocking.ml b/lib/vcs_git_blocking/src/vcs_git_blocking.ml index a9a4ca0..d7529a6 100644 --- a/lib/vcs_git_blocking/src/vcs_git_blocking.ml +++ b/lib/vcs_git_blocking/src/vcs_git_blocking.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_blocking/src/vcs_git_blocking.mli b/lib/vcs_git_blocking/src/vcs_git_blocking.mli index 0db86e4..20a55ff 100644 --- a/lib/vcs_git_blocking/src/vcs_git_blocking.mli +++ b/lib/vcs_git_blocking/src/vcs_git_blocking.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_blocking/test/test__hello_commit.ml b/lib/vcs_git_blocking/test/test__hello_commit.ml index cd348da..90942da 100644 --- a/lib/vcs_git_blocking/test/test__hello_commit.ml +++ b/lib/vcs_git_blocking/test/test__hello_commit.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_blocking/test/test__hello_commit.mli b/lib/vcs_git_blocking/test/test__hello_commit.mli index 8d9c023..45af050 100644 --- a/lib/vcs_git_blocking/test/test__hello_commit.mli +++ b/lib/vcs_git_blocking/test/test__hello_commit.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/add.ml b/lib/vcs_git_cli/src/add.ml index 07e439f..84093db 100644 --- a/lib/vcs_git_cli/src/add.ml +++ b/lib/vcs_git_cli/src/add.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/add.mli b/lib/vcs_git_cli/src/add.mli index 41b425e..587ecc5 100644 --- a/lib/vcs_git_cli/src/add.mli +++ b/lib/vcs_git_cli/src/add.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/branch.ml b/lib/vcs_git_cli/src/branch.ml index 644714e..a5aa226 100644 --- a/lib/vcs_git_cli/src/branch.ml +++ b/lib/vcs_git_cli/src/branch.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/branch.mli b/lib/vcs_git_cli/src/branch.mli index c73a09a..b4a3438 100644 --- a/lib/vcs_git_cli/src/branch.mli +++ b/lib/vcs_git_cli/src/branch.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/commit.ml b/lib/vcs_git_cli/src/commit.ml index 4853462..b1aca18 100644 --- a/lib/vcs_git_cli/src/commit.ml +++ b/lib/vcs_git_cli/src/commit.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/commit.mli b/lib/vcs_git_cli/src/commit.mli index e0400b7..08378a5 100644 --- a/lib/vcs_git_cli/src/commit.mli +++ b/lib/vcs_git_cli/src/commit.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/config.ml b/lib/vcs_git_cli/src/config.ml index b56d00c..69311e3 100644 --- a/lib/vcs_git_cli/src/config.ml +++ b/lib/vcs_git_cli/src/config.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/config.mli b/lib/vcs_git_cli/src/config.mli index d5864b0..a861cf6 100644 --- a/lib/vcs_git_cli/src/config.mli +++ b/lib/vcs_git_cli/src/config.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/init.ml b/lib/vcs_git_cli/src/init.ml index 8acf677..981981f 100644 --- a/lib/vcs_git_cli/src/init.ml +++ b/lib/vcs_git_cli/src/init.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/init.mli b/lib/vcs_git_cli/src/init.mli index 76d100d..cfa342b 100644 --- a/lib/vcs_git_cli/src/init.mli +++ b/lib/vcs_git_cli/src/init.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/log.ml b/lib/vcs_git_cli/src/log.ml index 754c171..44cb38e 100644 --- a/lib/vcs_git_cli/src/log.ml +++ b/lib/vcs_git_cli/src/log.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/log.mli b/lib/vcs_git_cli/src/log.mli index 2951c67..44f9da3 100644 --- a/lib/vcs_git_cli/src/log.mli +++ b/lib/vcs_git_cli/src/log.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/ls_files.ml b/lib/vcs_git_cli/src/ls_files.ml index d6b2e1d..fb14ec6 100644 --- a/lib/vcs_git_cli/src/ls_files.ml +++ b/lib/vcs_git_cli/src/ls_files.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/ls_files.mli b/lib/vcs_git_cli/src/ls_files.mli index 4842eea..e058b75 100644 --- a/lib/vcs_git_cli/src/ls_files.mli +++ b/lib/vcs_git_cli/src/ls_files.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/munged_path.ml b/lib/vcs_git_cli/src/munged_path.ml index 46e557f..d84e2d8 100644 --- a/lib/vcs_git_cli/src/munged_path.ml +++ b/lib/vcs_git_cli/src/munged_path.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/munged_path.mli b/lib/vcs_git_cli/src/munged_path.mli index 7ca50a0..0391778 100644 --- a/lib/vcs_git_cli/src/munged_path.mli +++ b/lib/vcs_git_cli/src/munged_path.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/name_status.ml b/lib/vcs_git_cli/src/name_status.ml index 48805f0..6ebf7c6 100644 --- a/lib/vcs_git_cli/src/name_status.ml +++ b/lib/vcs_git_cli/src/name_status.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/name_status.mli b/lib/vcs_git_cli/src/name_status.mli index a336914..7bb05c9 100644 --- a/lib/vcs_git_cli/src/name_status.mli +++ b/lib/vcs_git_cli/src/name_status.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/num_status.ml b/lib/vcs_git_cli/src/num_status.ml index 1030ade..3db322e 100644 --- a/lib/vcs_git_cli/src/num_status.ml +++ b/lib/vcs_git_cli/src/num_status.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/num_status.mli b/lib/vcs_git_cli/src/num_status.mli index 4cd3477..1cae311 100644 --- a/lib/vcs_git_cli/src/num_status.mli +++ b/lib/vcs_git_cli/src/num_status.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/refs.ml b/lib/vcs_git_cli/src/refs.ml index 29844fc..26e51df 100644 --- a/lib/vcs_git_cli/src/refs.ml +++ b/lib/vcs_git_cli/src/refs.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/refs.mli b/lib/vcs_git_cli/src/refs.mli index f36c8d8..ba0ce0c 100644 --- a/lib/vcs_git_cli/src/refs.mli +++ b/lib/vcs_git_cli/src/refs.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/rev_parse.ml b/lib/vcs_git_cli/src/rev_parse.ml index c4f183b..a0d5cbb 100644 --- a/lib/vcs_git_cli/src/rev_parse.ml +++ b/lib/vcs_git_cli/src/rev_parse.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/rev_parse.mli b/lib/vcs_git_cli/src/rev_parse.mli index d124099..85cdee2 100644 --- a/lib/vcs_git_cli/src/rev_parse.mli +++ b/lib/vcs_git_cli/src/rev_parse.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/runtime.mli b/lib/vcs_git_cli/src/runtime.mli index 6990706..2e312fc 100644 --- a/lib/vcs_git_cli/src/runtime.mli +++ b/lib/vcs_git_cli/src/runtime.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/show.ml b/lib/vcs_git_cli/src/show.ml index c3cfb24..1f4c535 100644 --- a/lib/vcs_git_cli/src/show.ml +++ b/lib/vcs_git_cli/src/show.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/show.mli b/lib/vcs_git_cli/src/show.mli index 0bf9484..6d4bc4d 100644 --- a/lib/vcs_git_cli/src/show.mli +++ b/lib/vcs_git_cli/src/show.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/vcs_git_cli.ml b/lib/vcs_git_cli/src/vcs_git_cli.ml index e5b5711..c68e80a 100644 --- a/lib/vcs_git_cli/src/vcs_git_cli.ml +++ b/lib/vcs_git_cli/src/vcs_git_cli.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/src/vcs_git_cli.mli b/lib/vcs_git_cli/src/vcs_git_cli.mli index 2ba73b2..6dbd70c 100644 --- a/lib/vcs_git_cli/src/vcs_git_cli.mli +++ b/lib/vcs_git_cli/src/vcs_git_cli.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/test/test__log.ml b/lib/vcs_git_cli/test/test__log.ml index a880a12..84bb0c6 100644 --- a/lib/vcs_git_cli/test/test__log.ml +++ b/lib/vcs_git_cli/test/test__log.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/test/test__log.mli b/lib/vcs_git_cli/test/test__log.mli index 8d9c023..45af050 100644 --- a/lib/vcs_git_cli/test/test__log.mli +++ b/lib/vcs_git_cli/test/test__log.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/test/test__munged_path.ml b/lib/vcs_git_cli/test/test__munged_path.ml index af031b3..57db01b 100644 --- a/lib/vcs_git_cli/test/test__munged_path.ml +++ b/lib/vcs_git_cli/test/test__munged_path.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/test/test__munged_path.mli b/lib/vcs_git_cli/test/test__munged_path.mli index 8d9c023..45af050 100644 --- a/lib/vcs_git_cli/test/test__munged_path.mli +++ b/lib/vcs_git_cli/test/test__munged_path.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/test/test__name_status.ml b/lib/vcs_git_cli/test/test__name_status.ml index 6f7f5a5..30d606c 100644 --- a/lib/vcs_git_cli/test/test__name_status.ml +++ b/lib/vcs_git_cli/test/test__name_status.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/test/test__name_status.mli b/lib/vcs_git_cli/test/test__name_status.mli index 8d9c023..45af050 100644 --- a/lib/vcs_git_cli/test/test__name_status.mli +++ b/lib/vcs_git_cli/test/test__name_status.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/test/test__num_status.ml b/lib/vcs_git_cli/test/test__num_status.ml index 75b18d8..102317d 100644 --- a/lib/vcs_git_cli/test/test__num_status.ml +++ b/lib/vcs_git_cli/test/test__num_status.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/test/test__num_status.mli b/lib/vcs_git_cli/test/test__num_status.mli index 8d9c023..45af050 100644 --- a/lib/vcs_git_cli/test/test__num_status.mli +++ b/lib/vcs_git_cli/test/test__num_status.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/test/test__refs.ml b/lib/vcs_git_cli/test/test__refs.ml index e9cd294..c3b7cf4 100644 --- a/lib/vcs_git_cli/test/test__refs.ml +++ b/lib/vcs_git_cli/test/test__refs.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/test/test__refs.mli b/lib/vcs_git_cli/test/test__refs.mli index 8d9c023..45af050 100644 --- a/lib/vcs_git_cli/test/test__refs.mli +++ b/lib/vcs_git_cli/test/test__refs.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/test/test__show.ml b/lib/vcs_git_cli/test/test__show.ml index 1131840..23c567f 100644 --- a/lib/vcs_git_cli/test/test__show.ml +++ b/lib/vcs_git_cli/test/test__show.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_git_cli/test/test__show.mli b/lib/vcs_git_cli/test/test__show.mli index 8d9c023..45af050 100644 --- a/lib/vcs_git_cli/test/test__show.mli +++ b/lib/vcs_git_cli/test/test__show.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_test_helpers/src/vcs_test_helpers.ml b/lib/vcs_test_helpers/src/vcs_test_helpers.ml index e5327ab..c07c65b 100644 --- a/lib/vcs_test_helpers/src/vcs_test_helpers.ml +++ b/lib/vcs_test_helpers/src/vcs_test_helpers.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_test_helpers/src/vcs_test_helpers.mli b/lib/vcs_test_helpers/src/vcs_test_helpers.mli index 33adacb..7c1d602 100644 --- a/lib/vcs_test_helpers/src/vcs_test_helpers.mli +++ b/lib/vcs_test_helpers/src/vcs_test_helpers.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/lib/vcs_test_helpers/test/test__vcs_test_helpers.ml b/lib/vcs_test_helpers/test/test__vcs_test_helpers.ml index 3fd6778..1c88def 100644 --- a/lib/vcs_test_helpers/test/test__vcs_test_helpers.ml +++ b/lib/vcs_test_helpers/test/test__vcs_test_helpers.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/lib/vcs_test_helpers/test/test__vcs_test_helpers.mli b/lib/vcs_test_helpers/test/test__vcs_test_helpers.mli index aa25e5f..951d437 100644 --- a/lib/vcs_test_helpers/test/test__vcs_test_helpers.mli +++ b/lib/vcs_test_helpers/test/test__vcs_test_helpers.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/test/expect/find_ref.ml b/test/expect/find_ref.ml index 7756085..9ced064 100644 --- a/test/expect/find_ref.ml +++ b/test/expect/find_ref.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/test/expect/find_ref.mli b/test/expect/find_ref.mli index 8d9c023..45af050 100644 --- a/test/expect/find_ref.mli +++ b/test/expect/find_ref.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/test/expect/num_status_without_lines.ml b/test/expect/num_status_without_lines.ml index beb32fe..e1e0edc 100644 --- a/test/expect/num_status_without_lines.ml +++ b/test/expect/num_status_without_lines.ml @@ -1,5 +1,5 @@ (*******************************************************************************) -(* Vcs - a Versatile OCaml Library for Git Interaction *) +(* Vcs - a Versatile OCaml Library for Git Operations *) (* Copyright (C) 2024 Mathieu Barbin *) (* *) (* This file is part of Vcs. *) diff --git a/test/expect/num_status_without_lines.mli b/test/expect/num_status_without_lines.mli index 8d9c023..45af050 100644 --- a/test/expect/num_status_without_lines.mli +++ b/test/expect/num_status_without_lines.mli @@ -1,5 +1,5 @@ (*_******************************************************************************) -(*_ Vcs - a Versatile OCaml Library for Git Interaction *) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) (*_ Copyright (C) 2024 Mathieu Barbin *) (*_ *) (*_ This file is part of Vcs. *) diff --git a/vcs.opam b/vcs.opam index 7fe30ec..b76101b 100644 --- a/vcs.opam +++ b/vcs.opam @@ -1,6 +1,6 @@ # This file is generated by dune, edit dune-project instead opam-version: "2.0" -synopsis: "A Versatile OCaml Library for Git Interaction" +synopsis: "A Versatile OCaml Library for Git Operations" maintainer: ["Mathieu Barbin"] authors: ["Mathieu Barbin"] license: "LGPL-3.0-or-later WITH LGPL-3.0-linking-exception" From 3374b33cd5eea07d21b57233b3fd3281da74b0bd Mon Sep 17 00:00:00 2001 From: Mathieu Barbin Date: Thu, 22 Aug 2024 11:10:14 +0200 Subject: [PATCH 3/6] Switch vcs-command to direct style error handling --- bin/dune | 2 +- bin/main.ml | 22 ++-- dune-project | 6 +- lib/vcs/src/exn0.ml | 2 + lib/vcs/src/exn0.mli | 2 + lib/vcs/src/vcs.mli | 4 + lib/vcs_arg/src/vcs_arg.ml | 48 ++++--- lib/vcs_arg/src/vcs_arg.mli | 6 +- lib/vcs_arg/test/test__vcs_arg.ml | 6 +- lib/vcs_command/src/dune | 2 - lib/vcs_command/src/vcs_command.ml | 191 +++++++++++++++++----------- lib/vcs_command/src/vcs_command.mli | 2 +- test/cram/run.t | 17 ++- vcs-arg.opam | 2 +- vcs-command.opam | 4 +- 15 files changed, 189 insertions(+), 127 deletions(-) diff --git a/bin/dune b/bin/dune index febceb3..8b241af 100644 --- a/bin/dune +++ b/bin/dune @@ -3,6 +3,6 @@ (public_name ocaml-vcs) (package vcs-command) (flags :standard -w +a-4-40-41-42-44-45-48-66 -warn-error +a) - (libraries base cmdliner commandlang commandlang-to-cmdliner vcs-command) + (libraries cmdliner commandlang-to-cmdliner vcs-command) (instrumentation (backend bisect_ppx))) diff --git a/bin/main.ml b/bin/main.ml index 797c1ce..28a6797 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -20,16 +20,14 @@ (*******************************************************************************) let () = - match - Cmdliner.Cmd.eval_value' - (Commandlang_to_cmdliner.Translate.command - Vcs_command.main - ~name:"ocaml-vcs" - ~version:"%%VERSION%%") - with - | `Ok (Ok ()) -> () - | `Exit code -> Stdlib.exit code - | `Ok (Error err) -> - prerr_endline (Base.Error.to_string_hum err); - Stdlib.exit 1 + Commandlang_to_cmdliner.run + Vcs_command.main + ~name:"ocaml-vcs" + ~version:"%%VERSION%%" + ~exn_handler:(function + | Vcs.E e -> + Some + (Commandlang_err.Err.make + [ Commandlang_err.Err.pp_of_sexp (Vcs.Err.sexp_of_t e) ]) + | _ -> None [@coverage off]) ;; diff --git a/dune-project b/dune-project index c0b9844..bfe6907 100644 --- a/dune-project +++ b/dune-project @@ -90,7 +90,7 @@ :dev (>= 2.8.3))) (commandlang - (>= 0.0.1~preview-0.1)) + (>= 0.0.1)) (eio (>= 1.0)) (fpath @@ -154,9 +154,9 @@ (cmdliner (= 1.3.0)) (commandlang - (>= 0.0.1~preview-0.1)) + (>= 0.0.1)) (commandlang-to-cmdliner - (>= 0.0.1~preview-0.1)) + (>= 0.0.1)) (eio (>= 1.0)) (eio_main diff --git a/lib/vcs/src/exn0.ml b/lib/vcs/src/exn0.ml index 1b483f4..0e51ca6 100644 --- a/lib/vcs/src/exn0.ml +++ b/lib/vcs/src/exn0.ml @@ -20,3 +20,5 @@ (*******************************************************************************) exception E of Err.t [@@deriving sexp_of] + +let raise_s msg sexp = raise (E (Err.create_s [%sexp (msg : string), (sexp : Sexp.t)])) diff --git a/lib/vcs/src/exn0.mli b/lib/vcs/src/exn0.mli index 127605f..6bc7466 100644 --- a/lib/vcs/src/exn0.mli +++ b/lib/vcs/src/exn0.mli @@ -25,3 +25,5 @@ [Vcs], and [Vcs.Exn]. *) exception E of Err.t [@@deriving sexp_of] + +val raise_s : string -> Sexp.t -> _ diff --git a/lib/vcs/src/vcs.mli b/lib/vcs/src/vcs.mli index d291f3a..91e8700 100644 --- a/lib/vcs/src/vcs.mli +++ b/lib/vcs/src/vcs.mli @@ -73,6 +73,10 @@ exception E of Err.t module Exn = Vcs_exn +(** Build an err payload from the supplied message and data and raise it as a + [!exception:E] exception. *) +val raise_s : string -> Sexp.t -> _ + (** {1 Creating repositories} *) module Platform = Platform diff --git a/lib/vcs_arg/src/vcs_arg.ml b/lib/vcs_arg/src/vcs_arg.ml index f1237ac..7b97da1 100644 --- a/lib/vcs_arg/src/vcs_arg.ml +++ b/lib/vcs_arg/src/vcs_arg.ml @@ -100,10 +100,15 @@ module Context = struct | Some cwd -> cwd | None -> Unix.getcwd () |> Absolute_path.v in - let%bind vcs, repo_root = + let vcs, repo_root = match Create_vcs_backend.from_cwd ~env ~cwd ~config with - | Some x -> Ok x - | None -> Or_error.error_string "Not in a supported version control repo" + | Some x -> x + | None -> + raise + (Vcs.E + (Vcs.Err.create_s + [%sexp + "Not in a supported version control repo", { cwd : Absolute_path.t }])) in let t = { config @@ -114,7 +119,7 @@ module Context = struct } in silence_w69_unused_field t; - return t + t ;; end @@ -127,11 +132,11 @@ module Initialized = struct end let initialize ~env ~config = - let%bind c = Context.create ~env ~config () in - return { Initialized.vcs = c.vcs; repo_root = c.repo_root; context = c } + let c = Context.create ~env ~config () in + { Initialized.vcs = c.vcs; repo_root = c.repo_root; context = c } ;; -type 'a t = Context.t -> 'a Or_error.t +type 'a t = Context.t -> 'a let resolve t ~context = t context @@ -153,8 +158,7 @@ let pos_path ~pos ~doc = let%map_open.Command path = Arg.pos ~pos (Param.validated_string (module Fpath)) ~docv:"file" ~doc in - fun (c : Context.t) -> - Or_error.try_with (fun () -> Absolute_path.relativize ~root:c.cwd path) + fun (c : Context.t) -> Absolute_path.relativize ~root:c.cwd path ;; let pos_path_in_repo ~pos ~doc = @@ -163,10 +167,13 @@ let pos_path_in_repo ~pos ~doc = in fun (c : Context.t) -> let repo_root = Vcs.Repo_root.to_absolute_path c.repo_root in - Or_error.try_with_join (fun () -> - let path = Absolute_path.relativize ~root:c.cwd path in - let%bind relative_path = Absolute_path.chop_prefix ~prefix:repo_root path in - return (Vcs.Path_in_repo.of_relative_path relative_path)) + let path = Absolute_path.relativize ~root:c.cwd path in + match Absolute_path.chop_prefix ~prefix:repo_root path with + | Ok relative_path -> Vcs.Path_in_repo.of_relative_path relative_path + | Error _ -> + raise + (Vcs.E + (Vcs.Err.create_s [%sexp "Path is not in repo", { path : Absolute_path.t }])) ;; let pos_rev ~pos ~doc = @@ -193,13 +200,14 @@ let below_path_in_repo = in fun (c : Context.t) -> let repo_root = Vcs.Repo_root.to_absolute_path c.repo_root in - Or_error.try_with_join (fun () -> - match path with - | None -> return None - | Some path -> - let path = Absolute_path.relativize ~root:c.cwd path in - let%bind relative_path = Absolute_path.chop_prefix ~prefix:repo_root path in - return (Some (Vcs.Path_in_repo.of_relative_path relative_path))) + Option.map path ~f:(fun path -> + let path = Absolute_path.relativize ~root:c.cwd path in + match Absolute_path.chop_prefix ~prefix:repo_root path with + | Ok relative_path -> Vcs.Path_in_repo.of_relative_path relative_path + | Error _ -> + raise + (Vcs.E + (Vcs.Err.create_s [%sexp "Path is not in repo", { path : Absolute_path.t }]))) ;; let commit_message = diff --git a/lib/vcs_arg/src/vcs_arg.mli b/lib/vcs_arg/src/vcs_arg.mli index 20336c6..00a8e57 100644 --- a/lib/vcs_arg/src/vcs_arg.mli +++ b/lib/vcs_arg/src/vcs_arg.mli @@ -38,7 +38,7 @@ module Context : sig -> env:< fs : _ Eio.Path.t ; process_mgr : _ Eio.Process.mgr ; .. > -> config:Config.t -> unit - -> t Or_error.t + -> t end module Initialized : sig @@ -54,7 +54,7 @@ end val initialize : env:< fs : _ Eio.Path.t ; process_mgr : _ Eio.Process.mgr ; .. > -> config:Config.t - -> Initialized.t Or_error.t + -> Initialized.t (** {1 Args} @@ -70,7 +70,7 @@ val initialize type 'a t (** To be called in the body of the command, after initialization. *) -val resolve : 'a t -> context:Context.t -> 'a Or_error.t +val resolve : 'a t -> context:Context.t -> 'a (** A required pos [BRANCH]. *) val pos_branch_name : pos:int -> doc:string -> Vcs.Branch_name.t Command.Arg.t diff --git a/lib/vcs_arg/test/test__vcs_arg.ml b/lib/vcs_arg/test/test__vcs_arg.ml index 08254a3..a45d34a 100644 --- a/lib/vcs_arg/test/test__vcs_arg.ml +++ b/lib/vcs_arg/test/test__vcs_arg.ml @@ -28,8 +28,8 @@ let%expect_test "not-in-repo" = (match Vcs_arg.Context.create ~cwd:Absolute_path.root ~env ~config:Vcs_arg.Config.default () with - | Ok _ -> assert false - | Error err -> print_s [%sexp (err : Error.t)]); - [%expect {| "Not in a supported version control repo" |}]; + | _ -> assert false + | exception Vcs.E err -> print_s [%sexp (err : Vcs.Err.t)]); + [%expect {| ("Not in a supported version control repo" ((cwd /))) |}]; () ;; diff --git a/lib/vcs_command/src/dune b/lib/vcs_command/src/dune index e887b12..ece8524 100644 --- a/lib/vcs_command/src/dune +++ b/lib/vcs_command/src/dune @@ -12,8 +12,6 @@ -open Fpath_base -open - Or_error.Let_syntax - -open Vcs_eio_writer -open Commandlang) diff --git a/lib/vcs_command/src/vcs_command.ml b/lib/vcs_command/src/vcs_command.ml index a888902..2abc501 100644 --- a/lib/vcs_command/src/vcs_command.ml +++ b/lib/vcs_command/src/vcs_command.ml @@ -30,10 +30,12 @@ let add_cmd = and path = Vcs_arg.pos_path_in_repo ~pos:0 ~doc:"file to add" in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root; context } = Vcs_arg.initialize ~env ~config in - let%bind path = Vcs_arg.resolve ~context path in - let%bind () = Vcs.Or_error.add vcs ~repo_root ~path in - return ()) + let { Vcs_arg.Initialized.vcs; repo_root; context } = + Vcs_arg.initialize ~env ~config + in + let path = Vcs_arg.resolve ~context path in + Vcs.add vcs ~repo_root ~path; + ()) ;; let commit_cmd = @@ -44,10 +46,12 @@ let commit_cmd = and quiet = Vcs_arg.quiet in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in - let%bind rev = Vcs.Or_error.commit vcs ~repo_root ~commit_message in + let { Vcs_arg.Initialized.vcs; repo_root; context = _ } = + Vcs_arg.initialize ~env ~config + in + let rev = Vcs.commit vcs ~repo_root ~commit_message in if not quiet then Eio_writer.print_sexp ~env [%sexp (rev : Vcs.Rev.t)]; - return ()) + ()) ;; let current_branch_cmd = @@ -56,10 +60,12 @@ let current_branch_cmd = (let%map_open.Command config = Vcs_arg.Config.arg in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in - let%bind branch = Vcs.Or_error.current_branch vcs ~repo_root in + let { Vcs_arg.Initialized.vcs; repo_root; context = _ } = + Vcs_arg.initialize ~env ~config + in + let branch = Vcs.current_branch vcs ~repo_root in Eio_writer.print_sexp ~env [%sexp (branch : Vcs.Branch_name.t)]; - return ()) + ()) ;; let current_revision_cmd = @@ -68,10 +74,12 @@ let current_revision_cmd = (let%map_open.Command config = Vcs_arg.Config.arg in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in - let%bind rev = Vcs.Or_error.current_revision vcs ~repo_root in + let { Vcs_arg.Initialized.vcs; repo_root; context = _ } = + Vcs_arg.initialize ~env ~config + in + let rev = Vcs.current_revision vcs ~repo_root in Eio_writer.print_sexp ~env [%sexp (rev : Vcs.Rev.t)]; - return ()) + ()) ;; let git_cmd = @@ -83,13 +91,15 @@ let git_cmd = in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in - let%bind { Vcs.Git.Output.exit_code; stdout; stderr } = - Vcs.Or_error.git vcs ~repo_root ~args ~f:return + let { Vcs_arg.Initialized.vcs; repo_root; context = _ } = + Vcs_arg.initialize ~env ~config + in + let { Vcs.Git.Output.exit_code; stdout; stderr } = + Vcs.git vcs ~repo_root ~args ~f:Fn.id in Eio_writer.print_string ~env stdout; Eio_writer.prerr_string ~env stderr; - if exit_code = 0 then return () else Stdlib.exit exit_code) + if exit_code <> 0 then Stdlib.exit exit_code) ;; let init_cmd = @@ -100,12 +110,14 @@ let init_cmd = and quiet = Vcs_arg.quiet in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root = _; context } = Vcs_arg.initialize ~env ~config in - let%bind path = Vcs_arg.resolve path ~context in - let%bind repo_root = Vcs.Or_error.init vcs ~path in + let { Vcs_arg.Initialized.vcs; repo_root = _; context } = + Vcs_arg.initialize ~env ~config + in + let path = Vcs_arg.resolve path ~context in + let repo_root = Vcs.init vcs ~path in if not quiet then Eio_writer.print_sexp ~env [%sexp (repo_root : Vcs.Repo_root.t)] [@coverage off]; - return ()) + ()) ;; let load_file_cmd = @@ -115,11 +127,13 @@ let load_file_cmd = and path = Vcs_arg.pos_path ~pos:0 ~doc:"file to load" in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root = _; context } = Vcs_arg.initialize ~env ~config in - let%bind path = Vcs_arg.resolve path ~context in - let%bind contents = Vcs.Or_error.load_file vcs ~path in + let { Vcs_arg.Initialized.vcs; repo_root = _; context } = + Vcs_arg.initialize ~env ~config + in + let path = Vcs_arg.resolve path ~context in + let contents = Vcs.load_file vcs ~path in Eio_writer.print_string ~env (contents :> string); - return ()) + ()) ;; let ls_files_cmd = @@ -129,14 +143,16 @@ let ls_files_cmd = and below = Vcs_arg.below_path_in_repo in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root; context } = Vcs_arg.initialize ~env ~config in - let%bind below = Vcs_arg.resolve below ~context in + let { Vcs_arg.Initialized.vcs; repo_root; context } = + Vcs_arg.initialize ~env ~config + in + let below = Vcs_arg.resolve below ~context in let below = Option.value below ~default:Vcs.Path_in_repo.root in - let%bind files = Vcs.Or_error.ls_files vcs ~repo_root ~below in + let files = Vcs.ls_files vcs ~repo_root ~below in Eio_writer.with_flow (Eio.Stdenv.stdout env) (fun w -> List.iter files ~f:(fun file -> Eio_writer.write_line w (Vcs.Path_in_repo.to_string file))); - return ()) + ()) ;; let log_cmd = @@ -145,10 +161,12 @@ let log_cmd = (let%map_open.Command config = Vcs_arg.Config.arg in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in - let%bind log = Vcs.Or_error.log vcs ~repo_root in + let { Vcs_arg.Initialized.vcs; repo_root; context = _ } = + Vcs_arg.initialize ~env ~config + in + let log = Vcs.log vcs ~repo_root in Eio_writer.print_sexp ~env [%sexp (log : Vcs.Log.t)]; - return ()) + ()) ;; let name_status_cmd = @@ -159,12 +177,12 @@ let name_status_cmd = and dst = Vcs_arg.pos_rev ~pos:1 ~doc:"tip revision" in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in - let%bind name_status = - Vcs.Or_error.name_status vcs ~repo_root ~changed:(Between { src; dst }) + let { Vcs_arg.Initialized.vcs; repo_root; context = _ } = + Vcs_arg.initialize ~env ~config in + let name_status = Vcs.name_status vcs ~repo_root ~changed:(Between { src; dst }) in Eio_writer.print_sexp ~env [%sexp (name_status : Vcs.Name_status.t)]; - return ()) + ()) ;; let num_status_cmd = @@ -175,12 +193,12 @@ let num_status_cmd = and dst = Vcs_arg.pos_rev ~pos:1 ~doc:"tip revision" in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in - let%bind num_status = - Vcs.Or_error.num_status vcs ~repo_root ~changed:(Between { src; dst }) + let { Vcs_arg.Initialized.vcs; repo_root; context = _ } = + Vcs_arg.initialize ~env ~config in + let num_status = Vcs.num_status vcs ~repo_root ~changed:(Between { src; dst }) in Eio_writer.print_sexp ~env [%sexp (num_status : Vcs.Num_status.t)]; - return ()) + ()) ;; let rename_current_branch_cmd = @@ -190,8 +208,11 @@ let rename_current_branch_cmd = and branch_name = Vcs_arg.pos_branch_name ~pos:0 ~doc:"new name to rename to" in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in - Vcs.Or_error.rename_current_branch vcs ~repo_root ~to_:branch_name) + let { Vcs_arg.Initialized.vcs; repo_root; context = _ } = + Vcs_arg.initialize ~env ~config + in + Vcs.rename_current_branch vcs ~repo_root ~to_:branch_name; + ()) ;; let refs_cmd = @@ -200,10 +221,12 @@ let refs_cmd = (let%map_open.Command config = Vcs_arg.Config.arg in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in - let%bind refs = Vcs.Or_error.refs vcs ~repo_root in + let { Vcs_arg.Initialized.vcs; repo_root; context = _ } = + Vcs_arg.initialize ~env ~config + in + let refs = Vcs.refs vcs ~repo_root in Eio_writer.print_sexp ~env [%sexp (refs : Vcs.Refs.t)]; - return ()) + ()) ;; let save_file_cmd = @@ -213,8 +236,10 @@ let save_file_cmd = and path = Vcs_arg.pos_path ~pos:0 ~doc:"file to save the contents to" in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root = _; context } = Vcs_arg.initialize ~env ~config in - let%bind path = Vcs_arg.resolve path ~context in + let { Vcs_arg.Initialized.vcs; repo_root = _; context } = + Vcs_arg.initialize ~env ~config + in + let path = Vcs_arg.resolve path ~context in let file_contents = Eio.Buf_read.parse_exn Eio.Buf_read.take_all @@ -222,7 +247,8 @@ let save_file_cmd = ~max_size:Int.max_value |> Vcs.File_contents.create in - Vcs.Or_error.save_file vcs ~path ~file_contents) + Vcs.save_file vcs ~path ~file_contents; + ()) ;; let set_user_config_cmd = @@ -233,10 +259,12 @@ let set_user_config_cmd = and user_email = Vcs_arg.user_email in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in - let%bind () = Vcs.Or_error.set_user_name vcs ~repo_root ~user_name in - let%bind () = Vcs.Or_error.set_user_email vcs ~repo_root ~user_email in - return ()) + let { Vcs_arg.Initialized.vcs; repo_root; context = _ } = + Vcs_arg.initialize ~env ~config + in + Vcs.set_user_name vcs ~repo_root ~user_name; + Vcs.set_user_email vcs ~repo_root ~user_email; + ()) ;; let show_file_at_rev_cmd = @@ -247,9 +275,11 @@ let show_file_at_rev_cmd = and path = Vcs_arg.pos_path_in_repo ~pos:0 ~doc:"path to file" in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root; context } = Vcs_arg.initialize ~env ~config in - let%bind path = Vcs_arg.resolve path ~context in - let%bind result = Vcs.Or_error.show_file_at_rev vcs ~repo_root ~rev ~path in + let { Vcs_arg.Initialized.vcs; repo_root; context } = + Vcs_arg.initialize ~env ~config + in + let path = Vcs_arg.resolve path ~context in + let result = Vcs.show_file_at_rev vcs ~repo_root ~rev ~path in (match result with | `Present contents -> Eio_writer.print_string ~env (contents :> string) | `Absent -> @@ -258,7 +288,7 @@ let show_file_at_rev_cmd = "Path '%s' does not exist in '%s'" (Vcs.Path_in_repo.to_string path) (Vcs.Rev.to_string rev)); - return ()) + ()) ;; let tree_cmd = @@ -267,10 +297,12 @@ let tree_cmd = (let%map_open.Command config = Vcs_arg.Config.arg in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in - let%bind tree = Vcs.Or_error.tree vcs ~repo_root in + let { Vcs_arg.Initialized.vcs; repo_root; context = _ } = + Vcs_arg.initialize ~env ~config + in + let tree = Vcs.tree vcs ~repo_root in Eio_writer.print_sexp ~env [%sexp (Vcs.Tree.summary tree : Vcs.Tree.Summary.t)]; - return ()) + ()) ;; (* The following section expands the cli to help with test coverage. *) @@ -282,21 +314,29 @@ let branch_revision_cmd = and branch_name = Vcs_arg.pos_branch_name_opt ~pos:0 ~doc:"which branch" in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in - let%bind branch_name = + let { Vcs_arg.Initialized.vcs; repo_root; context = _ } = + Vcs_arg.initialize ~env ~config + in + let branch_name = match branch_name with - | Some branch_name -> return branch_name - | None -> Vcs.Or_error.current_branch vcs ~repo_root + | Some branch_name -> branch_name + | None -> Vcs.current_branch vcs ~repo_root in - let%bind rev = - let%bind refs = Vcs.Or_error.refs vcs ~repo_root >>| Vcs.Refs.to_map in + let rev = + let refs = Vcs.refs vcs ~repo_root |> Vcs.Refs.to_map in match Map.find refs (Local_branch { branch_name }) with - | Some rev -> return rev + | Some rev -> rev | None -> - Or_error.error_s [%sexp "Branch not found", { branch_name : Vcs.Branch_name.t }] + (* This line is covered in tests, but we need to disable coverage + reporting here. The reason is that bisect_ppx inserts an unvisitable + coverage point at the out-edge of this raising call, which would + otherwise result in a false negative in our test coverage. *) + Vcs.raise_s + "Branch not found" + [%sexp { branch_name : Vcs.Branch_name.t }] [@coverage off] in Eio_writer.print_sexp ~env [%sexp (rev : Vcs.Rev.t)]; - return ()) + ()) ;; let greatest_common_ancestors_cmd = @@ -306,21 +346,22 @@ let greatest_common_ancestors_cmd = and revs = Vcs_arg.pos_revs ~doc:"all revisions that must descend from the gcas" in Eio_main.run @@ fun env -> - let%bind { vcs; repo_root; context = _ } = Vcs_arg.initialize ~env ~config in - let%bind tree = Vcs.Or_error.tree vcs ~repo_root in - let%bind nodes = + let { Vcs_arg.Initialized.vcs; repo_root; context = _ } = + Vcs_arg.initialize ~env ~config + in + let tree = Vcs.tree vcs ~repo_root in + let nodes = List.map revs ~f:(fun rev -> match Vcs.Tree.find_rev tree ~rev with - | Some node -> return node - | None -> Or_error.error_s [%sexp "Rev not found", { rev : Vcs.Rev.t }]) - |> Or_error.all + | Some node -> node + | None -> Vcs.raise_s "Rev not found" [%sexp { rev : Vcs.Rev.t }]) in let gca = Vcs.Tree.greatest_common_ancestors tree nodes |> List.map ~f:(fun node -> Vcs.Tree.rev tree node) in Eio_writer.print_sexp ~env [%sexp (gca : Vcs.Rev.t list)]; - return ()) + ()) ;; let more_tests_cmd = diff --git a/lib/vcs_command/src/vcs_command.mli b/lib/vcs_command/src/vcs_command.mli index c80fe50..783f9aa 100644 --- a/lib/vcs_command/src/vcs_command.mli +++ b/lib/vcs_command/src/vcs_command.mli @@ -19,4 +19,4 @@ (*_ and , respectively. *) (*_******************************************************************************) -val main : unit Or_error.t Command.t +val main : unit Command.t diff --git a/test/cram/run.t b/test/cram/run.t index 3487698..146dc81 100644 --- a/test/cram/run.t +++ b/test/cram/run.t @@ -36,8 +36,8 @@ Rev-parse. rev0 $ ocaml-vcs more-tests branch-revision unknown-branch - ("Branch not found" ((branch_name unknown-branch))) - [1] + Error: Branch not found (branch_name unknown-branch) + [123] Testing a successful file show with git and via vcs. @@ -47,6 +47,12 @@ Testing a successful file show with git and via vcs. $ ocaml-vcs show-file-at-rev hello -r $rev0 Hello World +Invalid path-in-repo. + + $ ocaml-vcs show-file-at-rev /hello -r $rev0 + Error: Path is not in repo (path /hello) + [123] + Save / Load files. $ mkdir -p untracked @@ -71,6 +77,9 @@ Adding a new file under a directory. hello $ ocaml-vcs ls-files --below dir dir/hello + $ ocaml-vcs ls-files --below /dir + Error: Path is not in repo (path /dir) + [123] Testing an unsuccessful file show with git and via vcs. @@ -136,8 +145,8 @@ Greatest common ancestors. ($REV1) $ ocaml-vcs more-tests gca $rev1 2e9ab12edfe8e3a01cf2fa2b46210c042e9ab12e - ("Rev not found" ((rev 2e9ab12edfe8e3a01cf2fa2b46210c042e9ab12e))) - [1] + Error: Rev not found (rev 2e9ab12edfe8e3a01cf2fa2b46210c042e9ab12e) + [123] Vcs allows to run the git command line directly if the provider supports it. diff --git a/vcs-arg.opam b/vcs-arg.opam index 56fa91d..cd6b57c 100644 --- a/vcs-arg.opam +++ b/vcs-arg.opam @@ -12,7 +12,7 @@ depends: [ "ocaml" {>= "5.2"} "base" {>= "v0.17" & < "v0.18"} "bisect_ppx" {dev & >= "2.8.3"} - "commandlang" {>= "0.0.1~preview-0.1"} + "commandlang" {>= "0.0.1"} "eio" {>= "1.0"} "fpath" {>= "0.7.3"} "fpath-base" {>= "0.0.9"} diff --git a/vcs-command.opam b/vcs-command.opam index 94af07b..6f7badf 100644 --- a/vcs-command.opam +++ b/vcs-command.opam @@ -13,8 +13,8 @@ depends: [ "base" {>= "v0.17" & < "v0.18"} "bisect_ppx" {dev & >= "2.8.3"} "cmdliner" {= "1.3.0"} - "commandlang" {>= "0.0.1~preview-0.1"} - "commandlang-to-cmdliner" {>= "0.0.1~preview-0.1"} + "commandlang" {>= "0.0.1"} + "commandlang-to-cmdliner" {>= "0.0.1"} "eio" {>= "1.0"} "eio_main" {>= "1.0"} "fpath" {>= "0.7.3"} From b20a78d1fd454078668144775c4f29044e7ee624 Mon Sep 17 00:00:00 2001 From: Mathieu Barbin Date: Thu, 22 Aug 2024 11:10:51 +0200 Subject: [PATCH 4/6] Unwrap doc text --- doc/docs/design/introduction.md | 2 +- doc/docs/design/traits.md | 28 ++++++---------------------- example/README.md | 13 ++++--------- test/cram/README.md | 29 ++++++++--------------------- test/expect/README.md | 6 ++---- 5 files changed, 21 insertions(+), 57 deletions(-) diff --git a/doc/docs/design/introduction.md b/doc/docs/design/introduction.md index 90281b4..b739cfc 100644 --- a/doc/docs/design/introduction.md +++ b/doc/docs/design/introduction.md @@ -6,7 +6,7 @@ The concurrency runtime must be compatible with programs written in a direct sty ## How It Works -`Vcs` is an interface composed of [Traits](./traits.md), each providing different functionalities associated with Git interaction. The dynamic dispatch implementation of Vcs is powered by the [provider](https://github.com/mbarbin/provider) library. +`Vcs` is an interface composed of [Traits](./traits.md), each providing different functionalities associated with Git operations. The dynamic dispatch implementation of Vcs is powered by the [provider](https://github.com/mbarbin/provider) library. ## Architecture diff --git a/doc/docs/design/traits.md b/doc/docs/design/traits.md index bf5bcb5..ac2adf2 100644 --- a/doc/docs/design/traits.md +++ b/doc/docs/design/traits.md @@ -1,33 +1,17 @@ # The Power of Traits in `Vcs` -The `Vcs` library leverages the `provider`-based parametric model to offer a -flexible and adaptable interface for Git interaction. This model, also used in -the `Eio` library (`Eio.Resource`), allows us to define small scopes of -functionality, or `Traits`, within the `Vcs` library. +The `Vcs` library leverages the `provider`-based parametric model to offer a flexible and adaptable interface for Git operations. This model, also used in the `Eio` library (`Eio.Resource`), allows us to define small scopes of functionality, or `Traits`, within the `Vcs` library. ## Experience with `providers` -Our use of the [provider](https://github.com/mbarbin/provider) based parametric -library in `Vcs` serves as a practical, real-world case study of this pattern. +Our use of the [provider](https://github.com/mbarbin/provider) based parametric library in `Vcs` serves as a practical, real-world case study of this pattern. -We aim to bring this pattern to the attention of the community, fostering a -general understanding that can be applied to other projects using the same -pattern. In essence, understanding the parametrized model of `Vcs` equates to -understanding `Eio.Resource`, and vice versa. +We aim to bring this pattern to the attention of the community, fostering a general understanding that can be applied to other projects using the same pattern. In essence, understanding the parametrized model of `Vcs` equates to understanding `Eio.Resource`, and vice versa. ## Granularity of the Interface via Trait Granularity -The `Trait` design of `provider` allows us to define specific and isolated -sub-functionalities within the `Vcs` library. This granularity enables different -providers to choose which `Trait` they wish to implement, offering a level of -flexibility not possible with a monolithic functor. +The `Trait` design of `provider` allows us to define specific and isolated sub-functionalities within the `Vcs` library. This granularity enables different providers to choose which `Trait` they wish to implement, offering a level of flexibility not possible with a monolithic functor. -With `Traits`, you can select a provider with the specific set of traits you -need, without changing any other code. As explained -[here](https://mbarbin.github.io/provider/provider/Provider/Interface/index.html#type-t), -provider interfaces come with some notion of phantom types, offering additional -compiler assistance. +With `Traits`, you can select a provider with the specific set of traits you need, without changing any other code. As explained [here](https://mbarbin.github.io/provider/provider/Provider/Interface/index.html#type-t), provider interfaces come with some notion of phantom types, offering additional compiler assistance. -In summary, the use of `Traits` in `Vcs` provides a flexible, adaptable, and -granular interface for Git interaction, promoting a broader understanding and -application of the `provider`-based parametric model. +In summary, the use of `Traits` in `Vcs` provides a flexible, adaptable, and granular interface for Git operations, promoting a broader understanding and application of the `provider`-based parametric model. diff --git a/example/README.md b/example/README.md index 9e552d8..c5a83b7 100644 --- a/example/README.md +++ b/example/README.md @@ -1,18 +1,13 @@ # Vcs examples -In this directory we include some examples to illustrate how using `Vcs` looks -like. +In this directory we include some examples to illustrate how using `Vcs` looks like. -Since there are several providers available (`Eio`, `Blocking`), we decided to -select one main provider that most examples will use. We selected `Eio` for this. +Since there are several providers available (`Eio`, `Blocking`), we decided to select one main provider that most examples will use. We selected `Eio` for this. The intended entry point to browse these examples is `hello_vcs.ml`. -You can still have a look at `hello_blocking.ml` for an example showing how to -use the blocking interface of vcs. +You can still have a look at `hello_blocking.ml` for an example showing how to use the blocking interface of vcs. -The examples in this directory are not meant to be exhaustive, or replace the -tests that we have in other places in the repository. Rather they are intended -to give you a quick feel for what's `Vcs` and how to use it. +The examples in this directory are not meant to be exhaustive, or replace the tests that we have in other places in the repository. Rather they are intended to give you a quick feel for what's `Vcs` and how to use it. Welcome to Vcs' examples, and happy Giting! diff --git a/test/cram/README.md b/test/cram/README.md index 4c645eb..04c228f 100644 --- a/test/cram/README.md +++ b/test/cram/README.md @@ -2,24 +2,17 @@ ## Motivation -In this directory, we test the command line `ocaml-vcs`. This command line is -itself motivated by the desire to run exploratory tests using the vcs interface -and the git backend available on actual repositories. +In this directory, we test the command line `ocaml-vcs`. This command line is itself motivated by the desire to run exploratory tests using the vcs interface and the git backend available on actual repositories. -What we aim for these tests is to make sure `vcs` is not broken in some ways, -thus we would like to have good coverage of the commands it exposes. +What we aim for in these tests is to make sure that `ocaml-vcs` is not broken in some ways, thus we would like to have good coverage of the commands it exposes. -This is not a test for `git` itself, and to the extent possible, the tests in -this directory shall try to make little direct calls to git commands. Prefer -minting a new `vcs` command that does what you need instead. +This is not a test for `git` itself, and to the extent possible, the tests in this directory shall try to make little direct calls to git commands. Prefer minting a new `vcs` command that does what you need instead. ## Testing environment ### Limiting GitHub specifics -In the testing environment of GitHub workflow actions, it is necessary to take -some extra steps to make the test work. We prefer not to rely on a solution -involving using the config of the workflow itself, such as: +In the testing environment of GitHub workflow actions, it is necessary to take some extra steps to make the test work. We prefer not to rely on a solution involving using the config of the workflow itself, such as: ```yaml steps: @@ -32,15 +25,11 @@ steps: # Your test commands here ``` -The reason is because we'd also would like the tests to work when run with -`dune` locally during development, and we prefer to limit special logic we have -dedicated to the GitHub environment to a minimum and rather find ways to take -steps that are applicable to all testing environments in use. +The reason is because we'd also would like the tests to work when run with `dune` locally during development, and we prefer to limit special logic we have dedicated to the GitHub environment to a minimum and rather find ways to take steps that are applicable to all testing environments in use. ### Initialize git config -It is necessary to set some git config values. This may be done locally to the -repo under test. +It is necessary to set some git config values. This may be done locally to the repo under test. In the cram tests we'll do: @@ -73,12 +62,10 @@ Or the equivalent in `vcs`: $ ocaml-vcs rename-current-branch main ``` -Note that it is not possible to run the following in the GitHub workflow actions -before `git init` (this results in an error). +Note that it is not possible to run the following in the GitHub workflow actions before `git init` (this results in an error). ```sh $ git config init.defaultBranch ``` -And we do not want to make use of the `--global` for the reasons explained in -the GitHub specifics part. \ No newline at end of file +And we do not want to make use of the `--global` for the reasons explained in the GitHub specifics part. diff --git a/test/expect/README.md b/test/expect/README.md index 5208d05..97d10cf 100644 --- a/test/expect/README.md +++ b/test/expect/README.md @@ -1,7 +1,5 @@ # Vcs expect tests -This directory contains functional tests for `Vcs` that combine functionalities -from different libraries. +This directory contains unit and functional tests for `Vcs` that combine functionalities from different libraries. -They can be a useful addition to the dedicated unit tests located within each -library's directory. +They can be a useful addition to the dedicated unit tests located within each library's directory. From df17aefab1d1585bb73c2eb57b2034505afb1c92 Mon Sep 17 00:00:00 2001 From: Mathieu Barbin Date: Thu, 22 Aug 2024 11:11:19 +0200 Subject: [PATCH 5/6] Add tests --- test/expect/nonraising_unit_tests.ml | 274 ++++++++++++++++++++++++++ test/expect/nonraising_unit_tests.mli | 20 ++ test/expect/raising_unit_tests.ml | 22 +++ test/expect/raising_unit_tests.mli | 20 ++ 4 files changed, 336 insertions(+) create mode 100644 test/expect/nonraising_unit_tests.ml create mode 100644 test/expect/nonraising_unit_tests.mli create mode 100644 test/expect/raising_unit_tests.ml create mode 100644 test/expect/raising_unit_tests.mli diff --git a/test/expect/nonraising_unit_tests.ml b/test/expect/nonraising_unit_tests.ml new file mode 100644 index 0000000..1111a6e --- /dev/null +++ b/test/expect/nonraising_unit_tests.ml @@ -0,0 +1,274 @@ +(*******************************************************************************) +(* Vcs - a Versatile OCaml Library for Git Operations *) +(* Copyright (C) 2024 Mathieu Barbin *) +(* *) +(* This file is part of Vcs. *) +(* *) +(* Vcs is free software; you can redistribute it and/or modify it under *) +(* the terms of the GNU Lesser General Public License as published by the *) +(* Free Software Foundation either version 3 of the License, or any later *) +(* version, with the LGPL-3.0 Linking Exception. *) +(* *) +(* Vcs is distributed in the hope that it will be useful, but WITHOUT ANY *) +(* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS *) +(* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License and *) +(* the file `NOTICE.md` at the root of this repository for more details. *) +(* *) +(* You should have received a copy of the GNU Lesser General Public License *) +(* and the LGPL-3.0 Linking Exception along with this library. If not, see *) +(* and , respectively. *) +(*******************************************************************************) + +(* Cover once each function using the non-raising interface. *) + +(* A utility to map the revisions to short and stable keys ("rev0", "rev1", etc). *) +let map_sexp = + let next = ref (-1) in + let revs = Hashtbl.create (module Vcs.Rev) in + let redact rev = + match Hashtbl.find revs rev with + | Some redacted -> redacted + | None -> + let redacted = + Int.incr next; + let n = !next in + Printf.sprintf "rev%d" n + in + Hashtbl.set revs ~key:rev ~data:redacted; + redacted + in + let rec aux sexp : Sexp.t = + match (sexp : Sexp.t) with + | List sexps -> List (List.map sexps ~f:aux) + | Atom rev -> + (match Vcs.Rev.of_string rev with + | Error _ -> sexp + | Ok rev -> Atom (redact rev)) + in + aux +;; + +let%expect_test "num stat without lines" = + Eio_main.run + @@ fun env -> + Eio.Switch.run + @@ fun sw -> + let vcs = Vcs_git.create ~env in + let mock_revs = Vcs.Mock_revs.create () in + let repo_root = Vcs_test_helpers.init_temp_repo ~env ~sw ~vcs in + let () = + match + Vcs.Or_error.add vcs ~repo_root ~path:(Vcs.Path_in_repo.v "unknown-file.txt") + with + | Ok () -> assert false + | Error e -> + print_s + (Vcs_test_helpers.redact_sexp + (e |> Error.sexp_of_t) + ~fields:[ "cwd"; "repo_root" ]) + in + [%expect + {| + ((steps (( + Vcs.add ( + (repo_root ) + (path unknown-file.txt))))) + (error ( + (prog git) + (args (add unknown-file.txt)) + (exit_status (Exited 128)) + (cwd ) + (stdout "") + (stderr ("fatal: pathspec 'unknown-file.txt' did not match any files")) + (error "expected exit code 0")))) + |}]; + let () = + match + Vcs.Or_error.commit + vcs + ~repo_root + ~commit_message:(Vcs.Commit_message.v "Nothing to commit") + with + | Ok (_ : Vcs.Rev.t) -> assert false + | Error e -> + print_s + (Vcs_test_helpers.redact_sexp + (e |> Error.sexp_of_t) + ~fields:[ "cwd"; "repo_root"; "stdout" ]) + in + [%expect + {| + ((steps ((Vcs.commit ((repo_root ))))) + (error ( + (prog git) + (args (commit -m "Nothing to commit")) + (exit_status (Exited 1)) + (cwd ) + (stdout ) + (stderr "") + (error "expected exit code 0")))) + |}]; + let commit_file ~path ~file_contents = + let result = + let%bind () = + Vcs.Or_error.save_file + vcs + ~path:(Vcs.Repo_root.append repo_root path) + ~file_contents:(Vcs.File_contents.create file_contents) + in + let%bind () = Vcs.Or_error.add vcs ~repo_root ~path in + Vcs.Or_error.commit vcs ~repo_root ~commit_message:(Vcs.Commit_message.v "_") + in + Or_error.ok_exn result + in + let hello_file = Vcs.Path_in_repo.v "hello.txt" in + let rev = commit_file ~path:hello_file ~file_contents:"Hello World!" in + let mock_rev = Vcs.Mock_revs.to_mock mock_revs ~rev in + print_s [%sexp (mock_rev : Vcs.Rev.t)]; + [%expect {| 1185512b92d612b25613f2e5b473e5231185512b |}]; + let result = + let%bind () = + Vcs.Or_error.rename_current_branch vcs ~repo_root ~to_:(Vcs.Branch_name.v "branch") + in + Vcs.Or_error.current_branch vcs ~repo_root + in + print_s [%sexp (result : Vcs.Branch_name.t Or_error.t)]; + [%expect {| (Ok branch) |}]; + Vcs.rename_current_branch vcs ~repo_root ~to_:Vcs.Branch_name.main; + let result = + let%map rev = Vcs.Or_error.current_revision vcs ~repo_root in + Vcs.Mock_revs.to_mock mock_revs ~rev + in + print_s [%sexp (result : Vcs.Rev.t Or_error.t)]; + [%expect {| (Ok 1185512b92d612b25613f2e5b473e5231185512b) |}]; + let result = Vcs.Or_error.current_branch vcs ~repo_root in + print_s [%sexp (result : Vcs.Branch_name.t Or_error.t)]; + [%expect {| (Ok main) |}]; + let show_file_at_rev ~rev ~path = + Vcs.Or_error.show_file_at_rev vcs ~repo_root ~rev ~path + in + let result = show_file_at_rev ~rev ~path:hello_file in + print_s [%sexp (result : [ `Present of Vcs.File_contents.t | `Absent ] Or_error.t)]; + [%expect {| (Ok (Present "Hello World!")) |}]; + let result = show_file_at_rev ~rev ~path:(Vcs.Path_in_repo.v "absent-file.txt") in + print_s [%sexp (result : [ `Present of Vcs.File_contents.t | `Absent ] Or_error.t)]; + [%expect {| (Ok Absent) |}]; + let result = + (* We've characterized here that Git does not distinguish between a file + absent at a valid revision, and an unknown revision. *) + show_file_at_rev + ~rev:(Vcs.Mock_revs.next mock_revs) + ~path:(Vcs.Path_in_repo.v "absent-file.txt") + in + print_s [%sexp (result : [ `Present of Vcs.File_contents.t | `Absent ] Or_error.t)]; + [%expect {| (Ok Absent) |}]; + let result = + Vcs.Or_error.load_file vcs ~path:(Vcs.Repo_root.append repo_root hello_file) + in + print_s [%sexp (result : Vcs.File_contents.t Or_error.t)]; + [%expect {| (Ok "Hello World!") |}]; + let result = Vcs.Or_error.ls_files vcs ~repo_root ~below:Vcs.Path_in_repo.root in + print_s [%sexp (result : Vcs.Path_in_repo.t list Or_error.t)]; + [%expect {| (Ok (hello.txt)) |}]; + let () = + (* Below must be an existing directory or [ls_files] returns an error. *) + match Vcs.Or_error.ls_files vcs ~repo_root ~below:(Vcs.Path_in_repo.v "dir") with + | Ok _ -> assert false + | Error e -> + print_s + (Vcs_test_helpers.redact_sexp + (e |> Error.sexp_of_t) + ~fields:[ "cwd"; "error"; "repo_root" ]) + in + [%expect + {| + ((steps (( + Vcs.ls_files ( + (repo_root ) + (below dir))))) + (error )) + |}]; + let foo_file = Vcs.Path_in_repo.v "foo.txt" in + let rev2 = commit_file ~path:foo_file ~file_contents:"Hello Foo!" in + let bar_file = Vcs.Path_in_repo.v "bar.txt" in + let rev3 = commit_file ~path:bar_file ~file_contents:"Hello Bar!" in + let rev4 = commit_file ~path:bar_file ~file_contents:"Hello Again Bar!" in + let result = + Vcs.Or_error.name_status vcs ~repo_root ~changed:(Between { src = rev2; dst = rev3 }) + in + print_s [%sexp (result : Vcs.Name_status.t Or_error.t)]; + [%expect {| (Ok ((Added bar.txt))) |}]; + let result = + Vcs.Or_error.name_status vcs ~repo_root ~changed:(Between { src = rev3; dst = rev4 }) + in + print_s [%sexp (result : Vcs.Name_status.t Or_error.t)]; + [%expect {| (Ok ((Modified bar.txt))) |}]; + let result = + Vcs.Or_error.num_status vcs ~repo_root ~changed:(Between { src = rev2; dst = rev3 }) + in + print_s [%sexp (result : Vcs.Num_status.t Or_error.t)]; + [%expect + {| + (Ok (( + (key (One_file bar.txt)) + (num_stat ( + Num_lines_in_diff ( + (insertions 1) + (deletions 0))))))) + |}]; + let result = + Vcs.Or_error.num_status vcs ~repo_root ~changed:(Between { src = rev3; dst = rev4 }) + in + print_s [%sexp (result : Vcs.Num_status.t Or_error.t)]; + [%expect + {| + (Ok (( + (key (One_file bar.txt)) + (num_stat ( + Num_lines_in_diff ( + (insertions 1) + (deletions 1))))))) + |}]; + let () = + match Vcs.Or_error.log vcs ~repo_root with + | Error _ -> assert false + | Ok log -> + (* We traverse the log in reverse order first to assign revisions bottom + up (this makes it more readable). *) + ignore (map_sexp [%sexp (List.rev log : Vcs.Log.t)] : Sexp.t); + print_s (map_sexp [%sexp (log : Vcs.Log.t)]) + in + [%expect + {| + ((Commit (rev rev3) (parent rev2)) + (Commit (rev rev2) (parent rev1)) + (Commit (rev rev1) (parent rev0)) + (Root (rev rev0))) + |}]; + let () = + match Vcs.Or_error.refs vcs ~repo_root with + | Error _ -> assert false + | Ok refs -> print_s (map_sexp [%sexp (refs : Vcs.Refs.t)]) + in + [%expect {| (((rev rev3) (ref_kind (Local_branch (branch_name main))))) |}]; + let () = + match Vcs.Or_error.tree vcs ~repo_root with + | Error _ -> assert false + | Ok tree -> print_s (map_sexp [%sexp (tree : Vcs.Tree.t)]) + in + [%expect + {| + ((nodes ( + (#3 (Commit (rev rev3) (parent #2))) + (#2 (Commit (rev rev2) (parent #1))) + (#1 (Commit (rev rev1) (parent #0))) + (#0 (Root (rev rev0))))) + (revs ( + (#3 rev3) + (#2 rev2) + (#1 rev1) + (#0 rev0))) + (refs ((#3 ((Local_branch (branch_name main))))))) + |}]; + () +;; diff --git a/test/expect/nonraising_unit_tests.mli b/test/expect/nonraising_unit_tests.mli new file mode 100644 index 0000000..45af050 --- /dev/null +++ b/test/expect/nonraising_unit_tests.mli @@ -0,0 +1,20 @@ +(*_******************************************************************************) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) +(*_ Copyright (C) 2024 Mathieu Barbin *) +(*_ *) +(*_ This file is part of Vcs. *) +(*_ *) +(*_ Vcs is free software; you can redistribute it and/or modify it under *) +(*_ the terms of the GNU Lesser General Public License as published by the *) +(*_ Free Software Foundation either version 3 of the License, or any later *) +(*_ version, with the LGPL-3.0 Linking Exception. *) +(*_ *) +(*_ Vcs is distributed in the hope that it will be useful, but WITHOUT ANY *) +(*_ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS *) +(*_ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License and *) +(*_ the file `NOTICE.md` at the root of this repository for more details. *) +(*_ *) +(*_ You should have received a copy of the GNU Lesser General Public License *) +(*_ and the LGPL-3.0 Linking Exception along with this library. If not, see *) +(*_ and , respectively. *) +(*_******************************************************************************) diff --git a/test/expect/raising_unit_tests.ml b/test/expect/raising_unit_tests.ml new file mode 100644 index 0000000..ced2571 --- /dev/null +++ b/test/expect/raising_unit_tests.ml @@ -0,0 +1,22 @@ +(*******************************************************************************) +(* Vcs - a Versatile OCaml Library for Git Operations *) +(* Copyright (C) 2024 Mathieu Barbin *) +(* *) +(* This file is part of Vcs. *) +(* *) +(* Vcs is free software; you can redistribute it and/or modify it under *) +(* the terms of the GNU Lesser General Public License as published by the *) +(* Free Software Foundation either version 3 of the License, or any later *) +(* version, with the LGPL-3.0 Linking Exception. *) +(* *) +(* Vcs is distributed in the hope that it will be useful, but WITHOUT ANY *) +(* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS *) +(* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License and *) +(* the file `NOTICE.md` at the root of this repository for more details. *) +(* *) +(* You should have received a copy of the GNU Lesser General Public License *) +(* and the LGPL-3.0 Linking Exception along with this library. If not, see *) +(* and , respectively. *) +(*******************************************************************************) + +(* Cover once each function using the raising interface. *) diff --git a/test/expect/raising_unit_tests.mli b/test/expect/raising_unit_tests.mli new file mode 100644 index 0000000..45af050 --- /dev/null +++ b/test/expect/raising_unit_tests.mli @@ -0,0 +1,20 @@ +(*_******************************************************************************) +(*_ Vcs - a Versatile OCaml Library for Git Operations *) +(*_ Copyright (C) 2024 Mathieu Barbin *) +(*_ *) +(*_ This file is part of Vcs. *) +(*_ *) +(*_ Vcs is free software; you can redistribute it and/or modify it under *) +(*_ the terms of the GNU Lesser General Public License as published by the *) +(*_ Free Software Foundation either version 3 of the License, or any later *) +(*_ version, with the LGPL-3.0 Linking Exception. *) +(*_ *) +(*_ Vcs is distributed in the hope that it will be useful, but WITHOUT ANY *) +(*_ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS *) +(*_ FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License and *) +(*_ the file `NOTICE.md` at the root of this repository for more details. *) +(*_ *) +(*_ You should have received a copy of the GNU Lesser General Public License *) +(*_ and the LGPL-3.0 Linking Exception along with this library. If not, see *) +(*_ and , respectively. *) +(*_******************************************************************************) From e0fff77fd9327503c44da578e2fcddda4aaf8f35 Mon Sep 17 00:00:00 2001 From: Mathieu Barbin Date: Thu, 22 Aug 2024 12:13:42 +0200 Subject: [PATCH 6/6] Fix missing deps --- bin/dune | 2 +- dune-project | 10 ++++++++++ vcs-command.opam | 1 + vcs-tests.opam | 4 ++++ 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/bin/dune b/bin/dune index 8b241af..dcf88c5 100644 --- a/bin/dune +++ b/bin/dune @@ -3,6 +3,6 @@ (public_name ocaml-vcs) (package vcs-command) (flags :standard -w +a-4-40-41-42-44-45-48-66 -warn-error +a) - (libraries cmdliner commandlang-to-cmdliner vcs-command) + (libraries commandlang-err commandlang-to-cmdliner vcs-command) (instrumentation (backend bisect_ppx))) diff --git a/dune-project b/dune-project index bfe6907..7480273 100644 --- a/dune-project +++ b/dune-project @@ -155,6 +155,8 @@ (= 1.3.0)) (commandlang (>= 0.0.1)) + (commandlang-err + (>= 0.0.1)) (commandlang-to-cmdliner (>= 0.0.1)) (eio @@ -408,6 +410,14 @@ (and :dev (>= 2.8.3))) + (cmdliner + (= 1.3.0)) + (commandlang + (>= 0.0.1)) + (commandlang-err + (>= 0.0.1)) + (commandlang-to-cmdliner + (>= 0.0.1)) (core (and (>= v0.17) diff --git a/vcs-command.opam b/vcs-command.opam index 6f7badf..158684d 100644 --- a/vcs-command.opam +++ b/vcs-command.opam @@ -14,6 +14,7 @@ depends: [ "bisect_ppx" {dev & >= "2.8.3"} "cmdliner" {= "1.3.0"} "commandlang" {>= "0.0.1"} + "commandlang-err" {>= "0.0.1"} "commandlang-to-cmdliner" {>= "0.0.1"} "eio" {>= "1.0"} "eio_main" {>= "1.0"} diff --git a/vcs-tests.opam b/vcs-tests.opam index ac49a74..780243c 100644 --- a/vcs-tests.opam +++ b/vcs-tests.opam @@ -13,6 +13,10 @@ depends: [ "base" {>= "v0.17" & < "v0.18"} "base_quickcheck" {>= "v0.17" & < "v0.18"} "bisect_ppx" {dev & >= "2.8.3"} + "cmdliner" {= "1.3.0"} + "commandlang" {>= "0.0.1"} + "commandlang-err" {>= "0.0.1"} + "commandlang-to-cmdliner" {>= "0.0.1"} "core" {>= "v0.17" & < "v0.18"} "eio" {>= "1.0"} "eio_main" {>= "1.0"}