Skip to content

Fix the ephemeron used to simulate and temporary device for the memory back-end of Git#413

Merged
dinosaure merged 1 commit into
mirage:masterfrom
dinosaure:fix-index-temporary-memory-area
Oct 9, 2020
Merged

Fix the ephemeron used to simulate and temporary device for the memory back-end of Git#413
dinosaure merged 1 commit into
mirage:masterfrom
dinosaure:fix-index-temporary-memory-area

Conversation

@dinosaure
Copy link
Copy Markdown
Member

Spotted by @ulugbekna, I need to implement some tests.

@ulugbekna
Copy link
Copy Markdown
Contributor

I think this causes

index out of bounds
          Raised by primitive operation at file "src/carton/idx.ml" (inlined), line 43, characters 29-48
          Called from file "src/carton/idx.ml", line 64, characters 10-27
          Called from file "src/git/mem.ml", line 322, characters 6-223
          Called from file "src/git/sync.ml", line 232, characters 8-64
          Called from file "src/core/lwt.ml", line 1867, characters 23-26

with payload empty_repository_fetch in smart/test.ml

@ulugbekna
Copy link
Copy Markdown
Contributor

To note: the same payload doesn't cause problems in git-unix

…y back-end of Git (and keep as long as we need the *.idx file)
@dinosaure dinosaure force-pushed the fix-index-temporary-memory-area branch from 25cc777 to 68f7ffc Compare October 7, 2020 15:30
@dinosaure
Copy link
Copy Markdown
Member Author

After investigation, we got an error about IDX temporary file because we did the projection of it before to do anything on it - I mean, we want to get contents of the file before to do receive and analyze a PACK file. So, the case should not appear - and it's not a bug as is (when such usage should not happen).

However, the patch assert that in any context, we have, at least, an empty contents. It does not change anything for us but, with this patch. the code looks similar to Cstruct_append (which is better). Let's start to merge.

@dinosaure dinosaure merged commit 2c3e843 into mirage:master Oct 9, 2020
dinosaure added a commit to dinosaure/opam-repository that referenced this pull request Jan 9, 2021
… git-unix (3.0.0)

CHANGES:

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

CHANGES:

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

CHANGES:

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants