Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mbarbin/vcs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.0.9
Choose a base ref
...
head repository: mbarbin/vcs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref

Commits on Oct 30, 2024

  1. Update dependencies bounds

    mbarbin committed Oct 30, 2024
    Copy the full SHA
    64fec94 View commit details
  2. Dedup CI jobs on PRs (+ fmt)

    mbarbin committed Oct 30, 2024
    Copy the full SHA
    ee3918b View commit details
  3. Fix typo in doc

    mbarbin committed Oct 30, 2024
    Copy the full SHA
    a5840a2 View commit details
  4. Copy the full SHA
    8170670 View commit details
  5. Update changelog

    mbarbin committed Oct 30, 2024
    Copy the full SHA
    fa3ad94 View commit details
  6. Merge pull request #42 from mbarbin/abstract-traits

    Abstract traits constructors
    mbarbin authored Oct 30, 2024
    Copy the full SHA
    39d9313 View commit details

Commits on Nov 5, 2024

  1. Upgrade to provider.0.0.11

    mbarbin committed Nov 5, 2024
    Copy the full SHA
    b7a3c33 View commit details
  2. Update changelog

    mbarbin committed Nov 5, 2024
    Copy the full SHA
    6c4dad1 View commit details
  3. Merge pull request #43 from mbarbin/upgrade-provider

    Upgrade provider
    mbarbin authored Nov 5, 2024
    Copy the full SHA
    0ccfbf0 View commit details
  4. Prepare release

    mbarbin committed Nov 5, 2024
    Copy the full SHA
    cf2d7cc View commit details

Commits on Nov 10, 2024

  1. pp-log.err and .cli renames

    mbarbin committed Nov 10, 2024
    Copy the full SHA
    bb1612f View commit details
  2. Copy the full SHA
    d25c154 View commit details
  3. Require pp-log 0.0.7

    mbarbin committed Nov 10, 2024
    Copy the full SHA
    f66be91 View commit details

Commits on Dec 2, 2024

  1. Update deps

    mbarbin committed Dec 2, 2024
    Copy the full SHA
    08c4cab View commit details
  2. Upgrade to cmdlang.0.0.9

    mbarbin committed Dec 2, 2024
    Copy the full SHA
    5759efc View commit details
  3. Copy the full SHA
    490dc95 View commit details

Commits on Dec 3, 2024

  1. Copy the full SHA
    09e7bf9 View commit details

Commits on Dec 16, 2024

  1. Copy the full SHA
    9595075 View commit details
  2. Copy the full SHA
    956d053 View commit details
  3. Merge pull request #44 from mbarbin/add-implicit-transitive-deps

    Add missing transitive dependencies
    mbarbin authored Dec 16, 2024
    Copy the full SHA
    72d582a View commit details
  4. Require dune.3.17

    mbarbin committed Dec 16, 2024
    Copy the full SHA
    9129254 View commit details
  5. Copy the full SHA
    fddd068 View commit details

Commits on Jan 5, 2025

  1. Update spell config

    mbarbin committed Jan 5, 2025
    Copy the full SHA
    dad936a View commit details
  2. Update spell config (miou)

    mbarbin committed Jan 5, 2025
    Copy the full SHA
    02db105 View commit details
  3. Copy the full SHA
    b277cb8 View commit details

Commits on Jan 10, 2025

  1. Copy the full SHA
    a46357e View commit details
  2. Copy the full SHA
    780c672 View commit details
  3. Copy the full SHA
    ad1a061 View commit details
  4. Reset changelog

    mbarbin committed Jan 10, 2025
    Copy the full SHA
    9d2b019 View commit details
  5. Use OCaml 5.3 in the main CI

    mbarbin committed Jan 10, 2025
    Copy the full SHA
    92e8ddc View commit details
  6. Copy the full SHA
    bd81e76 View commit details
  7. Copy the full SHA
    fc1f572 View commit details
  8. Move package section

    mbarbin committed Jan 10, 2025
    Copy the full SHA
    3ce1095 View commit details
  9. Copy the full SHA
    c97bc4f View commit details
  10. Add pkgs to more-ci targets

    mbarbin committed Jan 10, 2025
    Copy the full SHA
    2704b3c View commit details

Commits on Jan 22, 2025

  1. Disable macos CI for now

    mbarbin committed Jan 22, 2025
    Copy the full SHA
    187b133 View commit details
  2. Merge pull request #48 from mbarbin/ci-5.3

    Ci 5.3
    mbarbin authored Jan 22, 2025
    Copy the full SHA
    1b288aa View commit details

Commits on Jan 27, 2025

  1. Apply lint from template

    mbarbin committed Jan 27, 2025
    Copy the full SHA
    b2fe709 View commit details

Commits on Feb 4, 2025

  1. Copy the full SHA
    e9b55fe View commit details
  2. Lint

    mbarbin committed Feb 4, 2025
    Copy the full SHA
    d7f42be View commit details

Commits on Feb 11, 2025

  1. Copy the full SHA
    d0fcdfc View commit details

Commits on Feb 20, 2025

  1. Copy the full SHA
    3a8e503 View commit details
  2. Merge pull request #49 from mbarbin/blocking-calls-in-parallel

    Allow git-blocking calls to be run in parallel
    mbarbin authored Feb 20, 2025
    Copy the full SHA
    794c178 View commit details

Commits on Feb 21, 2025

  1. Edit pr number

    mbarbin committed Feb 21, 2025
    Copy the full SHA
    548f1c4 View commit details

Commits on Feb 23, 2025

  1. Rename _command to _cli

    mbarbin committed Feb 23, 2025
    Copy the full SHA
    72ac6c0 View commit details
  2. Fix stale names

    mbarbin committed Feb 23, 2025
    Copy the full SHA
    59a1b33 View commit details
  3. Merge pull request #50 from mbarbin/cli-rename

    Internal lib rename (command -> cli)
    mbarbin authored Feb 23, 2025
    Copy the full SHA
    2d9b640 View commit details
Showing with 1,029 additions and 415 deletions.
  1. +11 −7 .github/workflows/ci.yml
  2. +1 −1 .github/workflows/deploy-doc.yml
  3. +60 −0 .github/workflows/more-ci.yml
  4. +1 −1 .github/workflows/test-deploy-doc.yml
  5. +3 −1 .ocamlformat
  6. +3 −1 .vscode/settings.json
  7. +21 −0 CHANGES.md
  8. +2 −2 bin/dune
  9. +1 −1 bin/main.ml
  10. +2 −2 doc/docs/explanation/dune
  11. +1 −1 doc/docs/explanation/exploratory_tests.md
  12. +169 −23 dune-project
  13. +1 −0 example/dune
  14. +1 −1 example/hello_blocking.ml
  15. +2 −1 example/hello_git_cli.ml
  16. +3 −3 headache.sh
  17. +1 −1 lib/vcs/src/dune
  18. +2 −1 lib/vcs/src/err.mli
  19. +1 −1 lib/vcs/src/git.ml
  20. +1 −1 lib/vcs/src/graph.ml
  21. +22 −22 lib/vcs/src/name_status.ml
  22. +21 −21 lib/vcs/src/name_status.mli
  23. +22 −22 lib/vcs/src/path_in_repo.ml
  24. +21 −21 lib/vcs/src/path_in_repo.mli
  25. +21 −21 lib/vcs/src/repo_root.ml
  26. +21 −21 lib/vcs/src/repo_root.mli
  27. +56 −20 lib/vcs/src/trait.ml
  28. +28 −20 lib/vcs/src/trait.mli
  29. +1 −1 lib/vcs/src/validated_string.ml
  30. +2 −1 lib/vcs/src/validated_string_intf.mli
  31. +4 −4 lib/vcs/src/vcs.mli
  32. +53 −53 lib/vcs/src/vcs0.ml
  33. +1 −1 lib/vcs/src/vcs0.mli
  34. +1 −1 lib/vcs/test/dune
  35. +2 −1 lib/vcs/test/test__commit_message.ml
  36. +2 −1 lib/vcs/test/test__file_contents.ml
  37. +10 −5 lib/vcs/test/test__graph.ml
  38. +6 −3 lib/vcs/test/test__name_status.ml
  39. +6 −3 lib/vcs/test/test__num_lines_in_diff.ml
  40. +1 −1 lib/vcs_base/test/dune
  41. +5 −5 lib/vcs_base/test/hash_test.ml
  42. +6 −3 lib/vcs_base/test/test__name_status.ml
  43. +3 −3 lib/{vcs_command → vcs_cli}/src/dune
  44. 0 lib/{vcs_command → vcs_cli}/src/import.ml
  45. 0 lib/{vcs_command → vcs_cli}/src/import.mli
  46. +1 −1 lib/{vcs_command/src/vcs_command.ml → vcs_cli/src/vcs_cli.ml}
  47. 0 lib/{vcs_command/src/vcs_command.mli → vcs_cli/src/vcs_cli.mli}
  48. +3 −6 lib/{vcs_command → vcs_cli}/test/dune
  49. +1 −1 lib/{vcs_command/test/test__vcs_command.ml → vcs_cli/test/test__vcs_cli.ml}
  50. 0 lib/{vcs_command/test/test__vcs_command.mli → vcs_cli/test/test__vcs_cli.mli}
  51. +8 −1 lib/vcs_git_blocking/src/dune
  52. +25 −42 lib/vcs_git_blocking/src/runtime.ml
  53. +5 −1 lib/vcs_git_blocking/src/vcs_git_blocking.ml
  54. +6 −0 lib/vcs_git_blocking/src/vcs_git_blocking.mli
  55. +1 −0 lib/vcs_git_blocking/test/dune
  56. +1 −1 lib/vcs_git_eio/src/dune
  57. +1 −1 lib/vcs_git_eio/src/vcs_git_eio.ml
  58. +1 −0 lib/vcs_git_eio/test/dune
  59. +1 −1 lib/vcs_git_provider/src/dune
  60. +8 −6 lib/vcs_git_provider/src/munged_path.ml
  61. +1 −1 lib/vcs_git_provider/src/num_status.ml
  62. +1 −1 lib/vcs_git_provider/src/refs.ml
  63. +16 −16 lib/vcs_git_provider/src/vcs_git_provider.ml
  64. +1 −1 lib/vcs_git_provider/src/vcs_git_provider.mli
  65. +2 −1 lib/vcs_git_provider/test/test__munged_path.ml
  66. +4 −2 lib/vcs_test_helpers/test/test__vcs_test_helpers.ml
  67. +4 −4 test/expect/git_exception_handler.ml
  68. +24 −2 vcs-base.opam
  69. +22 −0 vcs-base.opam.template
  70. +22 −5 vcs-command.opam → vcs-cli.opam
  71. +17 −0 vcs-cli.opam.template
  72. +72 −0 vcs-dev.opam
  73. +18 −2 vcs-git-blocking.opam
  74. +15 −0 vcs-git-blocking.opam.template
  75. +18 −2 vcs-git-eio.opam
  76. +16 −0 vcs-git-eio.opam.template
  77. +19 −1 vcs-git-provider.opam
  78. +17 −0 vcs-git-provider.opam.template
  79. +19 −2 vcs-test-helpers.opam
  80. +16 −0 vcs-test-helpers.opam.template
  81. +10 −9 vcs-tests.opam
  82. 0 vcs-tests.opam.template
  83. +17 −2 vcs.opam
  84. +14 −0 vcs.opam.template
18 changes: 11 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
name: ci

on:
- pull_request
- push
push:
branches:
- main
pull_request:
branches:
- "**" # This will match pull requests targeting any branch

jobs:
build:
@@ -12,7 +16,7 @@ jobs:
os:
- ubuntu-latest
ocaml-compiler:
- 5.2.x
- 5.3.x

runs-on: ${{ matrix.os }}

@@ -27,8 +31,8 @@ jobs:
opam-repositories: |
default: https://github.com/ocaml/opam-repository.git
mbarbin: https://github.com/mbarbin/opam-repository.git
# janestreet-bleeding: https://github.com/janestreet/opam-repository.git
# janestreet-bleeding-external: https://github.com/janestreet/opam-repository.git#external-packages
# janestreet-bleeding: https://github.com/janestreet/opam-repository.git
# janestreet-bleeding-external: https://github.com/janestreet/opam-repository.git#external-packages

- name: Install dependencies
run: opam install . --deps-only --with-doc --with-test --with-dev-setup
@@ -38,8 +42,8 @@ jobs:

- name: Run tests
run: |
mkdir $BISECT_DIR
opam exec -- dune runtest --instrument-with bisect_ppx
mkdir $BISECT_DIR
opam exec -- dune runtest --instrument-with bisect_ppx
env:
BISECT_DIR: ${{ runner.temp }}/_bisect_ppx_data
BISECT_FILE: ${{ runner.temp }}/_bisect_ppx_data/data
2 changes: 1 addition & 1 deletion .github/workflows/deploy-doc.yml
Original file line number Diff line number Diff line change
@@ -34,7 +34,7 @@ jobs:
- name: Setup OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: "5.2.x"
ocaml-compiler: "5.3.x"
opam-repositories: |
default: https://github.com/ocaml/opam-repository.git
mbarbin: https://github.com/mbarbin/opam-repository.git
60 changes: 60 additions & 0 deletions .github/workflows/more-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# This workflow file is named 'more-ci' and is used to run additional CI checks
# that complement the main CI workflow. It ensures that our code is tested
# across multiple operating systems and OCaml compiler versions.
#
# Compared to the main 'ci.yml' job, this skips some steps that are not
# necessary to check for every combination of os and ocaml-compiler, such as
# generating coverage report, linting odoc, opam and fmt, etc.
#
# We prefer to keep it separate from the main CI workflow because we find it
# more readable, over having too many conditional steps in the same job.

name: more-ci

on:
push:
branches:
- main
pull_request:
branches:
- "**" # This will match pull requests targeting any branch

jobs:
build:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
ocaml-compiler:
- 5.3.x
- 5.2.x
exclude:
# We exclude the combination already tested in the 'ci' workflow.
- os: ubuntu-latest
ocaml-compiler: 5.3.x

runs-on: ${{ matrix.os }}

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: ${{ matrix.ocaml-compiler }}
opam-repositories: |
default: https://github.com/ocaml/opam-repository.git
mbarbin: https://github.com/mbarbin/opam-repository.git
# janestreet-bleeding: https://github.com/janestreet/opam-repository.git
# janestreet-bleeding-external: https://github.com/janestreet/opam-repository.git#external-packages

# We build and run tests for a subset of packages. More tests are run in
# the development workflow and as part of the main CI job. These are the
# tests that are checked for every combination of os and ocaml-compiler.
- name: Install dependencies
run: opam install ./vcs.opam ./vcs-base.opam ./vcs-cli.opam ./vcs-git-blocking.opam ./vcs-git-eio.opam ./vcs-git-provider.opam ./vcs-test-helpers.opam ./vcs-tests.opam --deps-only --with-test

- name: Build & Run tests
run: opam exec -- dune build @all @runtest -p vcs,vcs-base,vcs-cli,vcs-git-blocking,vcs-git-eio,vcs-git-provider,vcs-test-helpers,vcs-tests
2 changes: 1 addition & 1 deletion .github/workflows/test-deploy-doc.yml
Original file line number Diff line number Diff line change
@@ -34,7 +34,7 @@ jobs:
- name: Setup OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: "5.2.x"
ocaml-compiler: "5.3.x"
opam-repositories: |
default: https://github.com/ocaml/opam-repository.git
mbarbin: https://github.com/mbarbin/opam-repository.git
4 changes: 3 additions & 1 deletion .ocamlformat
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
version=0.26.2
version=0.27.0
ocaml-version=5.2
profile=janestreet
parse-docstrings=true
4 changes: 3 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -5,8 +5,10 @@
"chdir",
"ENOENT",
"fpath",
"intf",
"janestreet",
"lsplit",
"miou",
"mkdirs",
"odoc",
"opam",
@@ -21,4 +23,4 @@
"worktree",
"worktrees"
]
}
}
21 changes: 21 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
## 0.0.11 (unreleased)

### Added

### Changed

### Deprecated

### Fixed

- Allow `vcs-git-blocking` calls to be run in parallel (#49, @mbarbin).

### Removed

## 0.0.10 (2024-11-05)

### Changed

- Upgrade to `provider.0.0.11` with breaking changes (#43, @mbarbin).
- Abstract the trait type constructors (#42, @mbarbin).

## 0.0.9 (2024-10-23)

### Added
4 changes: 2 additions & 2 deletions bin/dune
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
(executable
(name main)
(public_name ocaml-vcs)
(package vcs-command)
(package vcs-cli)
(flags :standard -w +a-4-40-41-42-44-45-48-66 -warn-error +a)
(libraries cmdlang-cmdliner-runner err vcs-command)
(libraries cmdlang-cmdliner-runner pp-log.err vcs vcs-cli)
(instrumentation
(backend bisect_ppx)))
2 changes: 1 addition & 1 deletion bin/main.ml
Original file line number Diff line number Diff line change
@@ -21,7 +21,7 @@

let () =
Cmdlang_cmdliner_runner.run
Vcs_command.main
Vcs_cli.main
~name:"ocaml-vcs"
~version:"%%VERSION%%"
~exn_handler:(function
4 changes: 2 additions & 2 deletions doc/docs/explanation/dune
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
(mdx
(package vcs-tests)
(package vcs-dev)
(deps
(package vcs)
(package vcs-command))
(package vcs-cli))
(preludes prelude.txt))
2 changes: 1 addition & 1 deletion doc/docs/explanation/exploratory_tests.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Exploratory tests

The `vcs-command` package introduces an executable, `ocaml-vcs`, designed to bring the core functionalities of ocaml-vcs directly to your command line.
The `vcs-cli` package introduces an executable, `ocaml-vcs`, designed to bring the core functionalities of ocaml-vcs directly to your command line.

It's a practical tool for conducting exploratory testing within your repositories, and reproducing bugs or issues externally, for a smoother debugging process. As a live code sample, it also demonstrates the use of the library.

Loading