ocaml-git

Pure OCaml Git format and protocol

ISC License

Stars
362
Committers
36

Bot releases are hidden (Show)

ocaml-git - 3.8.0

Published by dinosaure over 2 years ago

CHANGES:

  • Adapt git-mirage with awa.0.1.0 (@hannesm, #553)
  • Support new version of git into tests (@dinosaure, #532, #554)
  • Provide Store.read_opt for finding Git object (@CraigFe, #551)
  • Unify git-mirage-http and git-mirage-ssh about the authenticator (@dinosaure, @hannesm, #538, #555)
ocaml-git - 3.7.0

Published by dinosaure almost 3 years ago

CHANGES:

  • Drop unneeded mirage-protocols dependency (@hannesm, #537)
  • Delete HTTP functor and use happy-eyeballs (@dinosaure, #539)
  • Be compatible with mirage-protocols.7.0.0 (@dinosaure, #541)
  • Use Lwt.pause instead of Lwt_unix.yield (@dinosaure, #542)
  • Link with logs and logs.fmt (@MisterDA, #544)
ocaml-git - https://github.com/mirage/ocaml-git/releases/tag/3.6.0

Published by dinosaure almost 3 years ago

CHANGES:

  • Fix the documentation (@dinosaure, #534)
  • Remove some output from Git when we initialize a Git repository (@dinosaure, #534)
  • Fix fmt deprecation functions (@dinosaure, #534)
  • Use a warning instead of an error when a reference does not exists (@zshipko, @dinosaure, #533)
  • Use the last version of dns (6.0.0) (@dinosaure, @hannesm, #531)
ocaml-git - 3.5.0

Published by dinosaure about 3 years ago

CHANGES:

  • Fix compilation of benchmarks (@dinosaure, #516)
  • Remove paf.cohttp dependency from MirageOS stack (@dinosaure, #519)
  • Use Cstruct.length instead of Cstruct.len (@dinosaure. #522)
  • Update to tls.0.14.0 (@dinosaure, #529)
ocaml-git - https://github.com/mirage/ocaml-git/releases/tag/carton-v0.4.3

Published by dinosaure about 3 years ago

CHANGES:

  • Use Cstruct.length instead of Cstruct.len (@dinosaure, #522)
  • Fix big endian support via decompress and checkseum (@dinosaure, @talex5, @tmcgilchrist, #523)
  • Handle huge PACK files (@dinosaure, @TheLortex, #526)
ocaml-git - https://github.com/mirage/ocaml-git/releases/tag/carton-v0.4.2

Published by dinosaure over 3 years ago

CHANGES:

  • Fix stream of inflated contents on PACK entry (@dinosaure, @talex5, @emillon, #515, #514)
ocaml-git - https://github.com/mirage/ocaml-git/releases/tag/3.4.0

Published by dinosaure over 3 years ago

CHANGES:

  • Fix several issues on git-unix (@dinosaure, @sternenseemann, #488)
  • Fix set of references by git-unix (@dinosaure, @jnavila, #490, #489)
  • Remove dependency with curl (@dinosaure, #491)
  • Provide Git_unix.ctx (@dinosaure, #493)
  • Update the plumbing between carton.0.4.1 and git (@dinosaure, #493)
  • Expose information used by Git_unix to start a connection (@dinosaure, #498)
  • Add missing fmt and logs on several dune files (@CraigFe, @dinosaure, #499)
  • Be able to pass threads argument when we fetch (@dinosaure, #500)
  • Fix documentation on search.ml (@dinosaure, #501)
  • Be compatible with alcotest.1.4.0 (@dinosaure, #504)
  • Delete mimic from the distribution (now available on https://github.com/dinosaure/mimic)
    (@dinosaure, #505)
  • Fix temporary directories on unix tests (@dinosaure, #506)
  • Use the non-stream API of decompress for loose objects (@clecat, @dinosaure, #502)
  • Use git-paf and paf.0.0.2 instead of CoHTTP (@dinosaure, #508)
  • Don't try to download tags implicitely (@dinosaure, #507)
  • Fix bug about negotiation over HTTP connection (@dinosaure, #507)
ocaml-git -

Published by dinosaure over 3 years ago

CHANGES:

  • Add a sector_size argument when we make a PACK decoder
    (@dinosaure, #493, #497)
ocaml-git - https://github.com/mirage/ocaml-git/releases/tag/mimic-v0.0.2

Published by dinosaure over 3 years ago

CHANGES:

  • Add documentation (#494, @dinosaure)
  • Optimize projection of modules (#495, @dinosaure)
  • Remove hmap dependency (which is vendored and tweaked)
    (fe55e14, @dinosaure)
ocaml-git - https://github.com/mirage/ocaml-git/releases/tag/3.3.3

Published by dinosaure over 3 years ago

CHANGES:

  • Fix stack-overflow on tree objects (@zshipko, @dinosaure, #485)
ocaml-git - https://github.com/mirage/ocaml-git/releases/tag/3.3.2

Published by dinosaure over 3 years ago

CHANGES:

  • Fix infinite loop when we don't have enough spaces for an
    inflated output (#480, @dinosaure, @Ngoguey42)
  • Fix bug about ephemeron/cstruct_append/O_TRUNC (#481, @dinosaure)
ocaml-git - https://github.com/mirage/ocaml-git/releases/tag/carton-v0.4.0

Published by dinosaure over 3 years ago

CHANGES:

  • Handle trunc argument when we process a thin PACK file
    breaking changes
    An optional argument is added on the record which abstract the file-system.
    It should be correctly handled by underlying implementation of the
    file-system. It appears that, at top, we need to figure out such option,
    specially for Git and Cstruct_append to correctly access to memories.
ocaml-git - https://github.com/mirage/ocaml-git/releases/tag/3.3.1

Published by dinosaure over 3 years ago

CHANGES:

  • Fix tests on NixOS (@sternenseemann, #472)
  • Fix report status over git://, ssh:// and http(s):// with
    side-band-64k and report-status capabilities (@dinosaure, @hannesm, #474)
  • Be sure that creation of a tree is tail-rec (@dinosaure, @zshipko, #476)
  • Update to decompress.1.3.0 (@dinosaure, #477)
ocaml-git - https://github.com/mirage/ocaml-git/releases/tag/carton-v0.3.0

Published by dinosaure over 3 years ago

CHANGES:

  • Provides binaries to manipulate PACK files (@dinosaure, #475)
    breaking changes
    A transitive breaking changes from decompress.1.3.0 when
    the compressor expects a De.Lz77.window instead of
    De.window
  • Update to decompress.1.3.0 (@dinosaure, #477)
ocaml-git - https://github.com/mirage/ocaml-git/releases/tag/3.3.0

Published by dinosaure over 3 years ago

CHANGES:

  • Fix tests when we push to an empty repository (#462, @dinosaure, @ulugbekna)

  • Fix new smart tests without a global git config (#463, @sternenseemann, @dinosaure)

  • Refactor tests (#464, @ulugbekna, @dinosaure)

  • Refactor find_common.ml (#465, @ulugbekna, @dinosaure)

  • Some preparation about Git protocol v2 (#466, @ulugbekna, @dinosaure)

  • Add HTTP/HTTPS support on the unikernel example (#467, @dinosaure)

  • Fix bug about push and capabilities (#468, @dinosaure, @hannesm, @ulugbekna)

  • Implement HTTP push and handle username & password in the given Uri.t (#469, @dinosaure)

  • breaking changes
    Commit object must have a double LF to separate the header and the body. This format changes
    hashes of commit and invalid old commits generated by ocaml-git. It seems that on the Git
    side, the format is not fully respected - and it's why Git did not complain about that on our
    tests for a long time.

    However, git fsck does this check and an HTTP push to GitHub run git fsck at the end. To
    be able to push (or run our unikernel over HTTP/S), we must generate right commits.

    So, we advise users to make a fake commit with Git (git commit --allow-empty -m.) on
    repositories used by ocaml-git and fetch it with depth:1. Otherwise, this new version
    of ocaml-git will refute older commits - due to the inherent isomorphism between
    decoder/encoder in ocaml-git.

    For Irmin users, this breaking changes does not change anything when irmin reformats correctly
    the message to put the second LF. However, a breaking change exists on the API level when the
    Git commit (and a Git tag) expects a string option now (instead of a simple `string).

    For more details and tests, see #470 (@dinosaure)

ocaml-git - https://github.com/mirage/ocaml-git/releases/tag/3.2.0

Published by dinosaure over 3 years ago

CHANGES:

  • Fix windows support (@dinosaure, #445)
  • Remove dune subst (@dinosaure, @kit-ty-kate, #446)
  • Remove useless Lwt_io module intests (@dinosaure, @ulugbekna, #447)
  • Fix bug when we unixiz a Mirage_flow.S (@dinosaure, #450)
  • Fix unikernel, the git functoria device must take properly the given ctx (@dinosaure, @hannesm, #452)
  • Unmonad mmap (see carton) (@dinosaure, #454)
  • Fix when we push first into a Git repository (@dinosaure, @hannesm, #455 & #456)
  • Improve a bit the unikernel example (@dinosaure, #458)
  • Improve the git-mirage support with functoria (@dinosaure, #459)
ocaml-git - https://github.com/mirage/ocaml-git/releases/tag/carton-v0.2.0

Published by dinosaure over 3 years ago

CHANGES:

  • Unmonad mmap (@dinosaure, #454)
    mmap is a syscall which does not block. The ability to use it outside
    the scheduler monad (like LWT) permits us to detach multiple processes
    to analyze a PACK file.

    With this PR, we take the advantage of Thread or Lwt_preemptive
    (or more acccurately, the concurrency) to analyze a large PACK file and
    speed-up the clone/fetch process.

    The distribution comes with a new binary, carton.verify-pack which is
    git verify-pack.

ocaml-git - https://github.com/mirage/ocaml-git/releases/tag/3.1.1

Published by dinosaure over 3 years ago

CHANGES:

  • Fix git-unix and PACK files location (@dinosaure, #444, #443)
  • Initialise (as git) correctly (add an HEAD reference, at least) (@dinosaure, #443)
ocaml-git - https://github.com/mirage/ocaml-git/releases/tag/3.1.0

Published by dinosaure almost 4 years ago

CHANGES:

  • Handle IP address on the endpoint (@dinosaure, #436)
ocaml-git - https://github.com/mirage/ocaml-git/releases/tag/3.0.0

Published by dinosaure almost 4 years ago

CHANGES:

  • Rewrite of ocaml-git (@dinosaure, #395)
  • Delete useless constraints on digestif's signature (@dinosaure, #399)
  • Add support of CoHTTP with UNIX and MirageOS (@ulugbekna, #400)
  • Add progress reporting on fetch command (@ulugbekna, #405)
  • Lint dependencies on packages (git-cohttp-unix and git-cohttp-mirage)
    and update to the last version of CoHTTP (@hannesm, #407)
  • Fix internal Cstruct_append implementation (@dinosaure, #401)
  • Implement shallow commit (@dinosaure, #402)
  • Update to conduit.3.0.0 (@dinosaure, #408) (deleted by the integration of mimic)
  • Delete use of ocurl (@dinosaure, #410)
  • Delete the useless old git-mirage package (@hannesm, #411)
  • Fix about unresolved endpoint with conduit.3.0.0 (@dinosaure, #412)
  • Refactors fetch command (@ulugbekna, #404)
  • Fix ephemerons about temporary devices (@dinosaure, #413)
  • Implementation of ogit-fetch as an example (@ulugbekna, #406)
  • Rename nss to git-nss (@dinosaure, #415)
  • Refactors git-nss (@ulugbekna, #416)
  • Update README.md (@ulugbekna, #417)
  • Replace deprecated Fmt functions (@ulugbekna, #421)
  • Delete physical equality (@ulugbekna, #422)
  • Rename prelude argument by uses_git_transport (@ulugbekna, #423)
  • Refactors Smart decoder (@ulugbekna, #424)
  • Constraint to use fmt.0.8.7 (@dinosaure, #425)
  • Small refactors in git-nss (@dinosaure, #427)
  • Delete conduit.3.0.0 and replace it by mimic (@dinosaure, #428)
  • Delete the useless verify function on fetch and push (@dinosaure, #429)
  • Delete pin-depends on awa (@dinosaure, #431)